javascript - 将参数传递给 async.js 任务

标签 javascript node.js async.js

我必须遍历给定的 JSON 对象并为其中的每个对象创建一个任务。给定的任务也需要来自此 JSON 对象的信息,我想知道如何将这些信息传递给我的任务,以便它在执行时可用。

构建我的任务数组:

var asyncScrapeTasks = [];
var resources = JSON.parse(body);
for(var i=0; i<resources.items.length; i++)
{
    asyncScrapeTasks.push(function (callback)
    {
        console.log(resources.items[i].id);
    });
}

执行我的任务:

async.parallelLimit(asyncScrapeTasks, 5, function() {
    callback(null, "Done");
});

我的问题:

现在 console.log(resources.items[i].id); 返回 undefined,这对我来说很有意义,因为在执行函数时索引 i 是未知的,但我想知道如何解决我的问题。

最佳答案

由于我没有足够的声誉来添加评论,所以我写下答案。抱歉。

是否有使用 paralleLimit 的特定原因? async.js 有每个可以迭代集合并对每个项目执行操作。此函数将函数 iteratee 并行应用于集合中的每个项目。 async.js each

如果要限制操作: async.js eachLimit

关于javascript - 将参数传递给 async.js 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38495001/

相关文章:

javascript - 如何使用 async.js 映射数组?

javascript - 系统 - sleep 无法正常工作

javascript - 保存到 localStorage 时保留实例类型

javascript - Opera pass 单击重叠按钮

javascript - 从客户端的 FileUpload 控件获取所有文件名

node.js - 如何使用 Angular 4 设置 Nodemailer?

javascript - 使用 async.parallel 时出错

php - 如何使用ajax添加TinyMCE文本框

javascript - ReactJs:无效的 DOM 属性 `classname` 错误

node.js - 如何在 Node 中将图形渲染为图像