首页 > 解决方案 > 这个循环是同步执行的吗?

问题描述

我编写了这个循环来迭代我从 CouchDB 数据库中得到的一些数据。我想知道这个循环是否是同步执行的,或者我是否必须使用 async/await 来处理它。

database.view('test', 'getAllowedTracker', function(err, body) {
  for(let i = 0; i < body.rows.length; i++){
    let array = body.rows[i].value;
    var newArray = array.filter((value) => value!='tracker8');
    database.atomic('test', 'updatetest', body.rows[i].key, {field: "tracker", value: newArray}).then((response) => {
    });
  }
})

它似乎是同步的,但我不太确定。如果在更新(database.atomic ...)之后执行过滤器功能,那将是致命的。

我不习惯使用异步编程,所以

谢谢您的帮助。

标签: javascriptnode.jscouchdb-nano

解决方案


在 JavaScript 中 for 循环和 Array.filter() 是同步的。你的代码很好,没有什么可担心的。

JavaScript 将在回调和承诺中异步运行。你可以谷歌更多关于它。


推荐阅读