HarmonyOS 如何在for循环中调用await

现在需要再for循环中进行插入db的操作,db会爆出Inner error. Inner code is -19的问题,code为14800000。 查询资料分析后觉得可能因为第一次插入没结束,就循环到下一次进行第二次插入。所以如何能在for循环中等待async方法的结束,再进行下一次循环。

HarmonyOS
2024-12-23 16:18:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

可通过async/await语法实现,参考示例:

async queryData(){
  {
    if (this.rdbStore == null) {
      console.error(Create Store1.db failed! store1 is null);
      return;
    }
  }
  try {
    let predicates: relationalStore.RdbPredicates = new relationalStore.RdbPredicates(“EMPLOYEE”);
    let resultSet = await this.rdbStore.query(predicates); // 查询所有数据
    console.info(Query data successfully! row count:${resultSet.rowCount});
    while (resultSet.goToNextRow()) {
      const id = resultSet.getLong(resultSet.getColumnIndex(“ID”));
      const name = resultSet.getString(resultSet.getColumnIndex(“NAME”));
      const age = resultSet.getLong(resultSet.getColumnIndex(“AGE”));
      const salary = resultSet.getDouble(resultSet.getColumnIndex(“SALARY”));
      console.info(id=${id}, name=${name}, age=${age}, salary=${salary});
      const tmp = new ItemBean(name, age.toString(), salary.toString());
      this.dbSet.push(tmp);
    }
    resultSet.close();
  } catch (err) {
    console.error(Query data failed! err code:${err.code}, err message:${err.message})
  }
}
分享
微博
QQ
微信
回复
2024-12-23 18:45:31
相关问题
HarmonyOS await sleep方法
929浏览 • 1回复 待解决
await的性能
409浏览 • 1回复 待解决
HarmonyOS await fs.open()
585浏览 • 1回复 待解决
grpc功能如何在原生HarmonyOS调用
553浏览 • 1回复 待解决
HarmonyOS异步await不起作用
832浏览 • 1回复 待解决
HarmonyOS 使用async 、await 的含义
461浏览 • 1回复 待解决
JS中如何使用Promise和async await
1469浏览 • 1回复 待解决
HarmonyOS 如何在应用内调用Home键
442浏览 • 1回复 待解决
HarmonyOS Promise,await/async 的线程模型
520浏览 • 1回复 待解决
Promise 与 Async/Await 的比较
892浏览 • 1回复 待解决
HarmonyOS forEach如何提前终止循环
537浏览 • 1回复 待解决
HarmonyOS DatePicker如何取消循环滚动
528浏览 • 1回复 待解决