1
async.forEachSeries(jList, function(json, cb) {
                setTimeout(foo,600000);
                function1(j,function(){}
};

我想在迭代器的每个条目被拾取执行之前引入一个延迟。我尝试了 setTimeOut 但它不起作用。

有任何想法吗?

4

1 回答 1

0

在您的代码中, 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);
});
于 2015-03-16T14:11:12.657 回答