我在項目中已經列舉了一些問題,因爲節點是異步的,但現在我有一個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
變量始終具有正確的值。
怎麼新來的東西不總是true
?
我從來沒有在cart
數組中有超過3個項目,這是爲什麼?如果我有1000件物品,它會有不同的表現嗎?
這個代碼是同步的,這就是爲什麼 – marvel308
似乎但是我沒有認爲它應該表現如此。我在另一個實例中有一個for循環,並在循環內部更新了數據庫,並且在循環之後也得到了一些結果,並且它不能同步工作,我不得不使用回調來創建一個函數。 –