javascript - 这个循环是同步执行的吗?
问题描述
我编写了这个循环来迭代我从 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 ...)之后执行过滤器功能,那将是致命的。
我不习惯使用异步编程,所以
谢谢您的帮助。
解决方案
在 JavaScript 中 for 循环和 Array.filter() 是同步的。你的代码很好,没有什么可担心的。
JavaScript 将在回调和承诺中异步运行。你可以谷歌更多关于它。
推荐阅读
- nodes - graphviz:使节点排名独占
- angularjs - AngularJS 过滤器:使用 AngularJS 过滤器找出数组的索引
- php - HTML 评论框电子邮件通知
- java - 内存监控包含 RabbitMQ 侦听器的应用程序的 Java 堆大小使用情况
- javascript - 如何使用 JavaScript (AJAX/jQuery) 判断 PHP $_SESSION cookie 是否存在?
- amazon-web-services - AWS - 码头工人和詹金斯
- unity3d - 检测到多个目标时播放声音。UNITY Vuforia
- c - 关于 C 语言中的指针
- java - 代码中有错误,我不知道如何更正
- c# - .NET Core 3.0 中的 WPF 依赖注入