将parameter passing给async.js任务
我必须迭代给定的JSON对象,并为其中的每个对象创build一个任务。 给定的任务也需要来自这个JSON对象的信息,我想知道如何将这些信息传递给我的任务,以便它在执行时可用。
build立我的任务数组:
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);
返回未定义,这对我来说是有道理的,因为索引i在执行函数的时候是不知道的,但是我不知道如何解决我的问题。
由于我没有足够的声望来添加评论,我正在写作答案。 抱歉。
有没有什么具体的理由使用paralleLimit? async.js有每个可以迭代收集和执行每个项目的操作。 该函数并行地将迭代函数应用于集合中的每个项目。 每个async.js
如果你想限制操作: async.js eachLimit