【发布时间】:2017-08-11 07:21:11
【问题描述】:
由于节点是异步的,我在做的项目中遇到了一些问题,但现在我有一个for loop,我在循环结束或中断后做了一些事情,它似乎是同步工作的,我想知道为什么。
我有这个代码:
var newItem = true;
for (var i = 0; i < cart.length; i++) {
if (cart[i].title == slug) {
cart[i].qty++;
newItem = false;
break;
}
}
if (newItem) {
cart.push({
title: slug
});
}
所有这些都按预期工作! newItem 变量始终具有正确的值。
newitem 怎么不总是true?
我在cart 数组中从来没有超过 3 个项目,这是为什么呢?如果我有 1000 个项目,它的行为会有所不同吗?
【问题讨论】:
-
这段代码是同步的,这就是原因
-
似乎但我认为它不应该这样。我在另一个实例中有一个 for 循环,并在循环内更新数据库,并在循环后得到一些结果,但它不能同步工作,我必须创建一个带有回调的函数。
标签: node.js