繁体   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