node.js - 在 async.forEachSeries 中引入延迟

标签 node.js node-async

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/

相关文章:

android - 在 meteor 上安装 android-sdk - 已下载但在安装时出现错误

node.js - 如何使函数在后台运行?

javascript - async.series 和 async.each 没有按预期工作

node.js - 异步系列nodejs中的async foreach

javascript - 我应该在 .gitignore 文件中写入 jsconfig.json 还是 tsconfig.json ?

javascript - 如何结合 Passport 和 Angular 用户界面路由

Node.js 和 ACL

javascript - 使用nodejs和mysql进行抓取时如何避免插入数据库时​​的冗余

javascript - 使用 node.js 函数 async.retry 确定成功/失败

node.js - Node .异步并行: can we create dynamic texts to denote tasks?