我有一個異步函數,我想在觸發之前有一個5000ms的延遲。我正在嘗試使用setTimeout()
來實現這一點。這個異步函數發生在多次運行的循環中,異步函數每次傳遞不同的數據,因此setInterval()
不能在這裏使用。setTimeout on異步函數
問題:異步函數被瞬間觸發無延遲(控制檯打印5個Done
消息instantly`,沒有任何延遲循環發生了什麼,我怎麼能解決這個問題
JavaScript代碼
?someFunction(listings, function() {
for (var i in listings) {
var listing = listings[i];
setTimeout(asyncFunction(listing, function(data) {
console.log('Done');
}), 5000);
}
});
如果「列表」實際上是一個數組,則不應該用「for ... in」進行迭代。改用數字索引。 – Pointy
@Pointy是的,它只是一個數組,哎呀:) – Nyxynyx