async.forEachSeries(jList, function(json, cb) {
setTimeout(foo,600000);
function1(j,function(){}
};
我想在迭代器的每个条目被选取执行之前引入延迟。我尝试了 setTimeOut 但它不起作用。
有什么想法吗?
最佳答案
在您的代码中,setTimeout 设置一个计时器和一个在触发计时器后稍后运行的代码。但您的代码会继续运行,不会停止线程并等待超时完成。 所以你可以用两种方法来解决这个问题......运行某种无限循环,等待你想要耗时,然后继续或设置计时器在你想要的时间间隔内触发索引。 那么你的线程就可以自由运行并且不会陷入等待。
var forEach = require('async-foreach').forEach;
var timeoutLength = 3000;
forEach(["a", "b", "c"], function (item, index) {
setTimeout(function () {
console.log("each", item, index);
}, timeoutLength * index);
});
关于node.js - 在 async.forEachSeries 中引入延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29078852/