簡體   English   中英

循環nodejs的每次迭代延遲

[英]Delay in each iteration of loop nodejs

我想等待除第一個循環之外的每個循環。 這是我的代碼,它在setTimeout函數等待大約x秒並一次運行所有迭代而無需等待之后,對於第一次迭代工作正常。

這是代碼

var requests_made = 0;
drivers.forEach(function(driver) {
    if (requests_made == 0) {
        createUser(data);
    } else {
        setTimeout(function () {
            createUser(data);
        },30000);
    }
    requests_made++;
});

好吧,您的超時使用的靜態delay值為30000 ,所有迭代將使用該值,因此它們將在30秒后開始。

此延遲應該是動態的,並且隨着迭代索引的增加而動態增加,這是您需要的:

 var requests_made = 0; var drivers = [10, 50, 30, 40, 50]; drivers.forEach(function(driver, index) { if (requests_made == 0) { //createUser(data); console.log(index); } else { setTimeout(function() { //createUser(data); console.log(index); }, 1000 * index); } requests_made++; }); 

注意:

我使用了一個數字數組並減少了延遲值以進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM