[英]Async.js: Is a variable created in a waterfall task available in another task?
[英]Pass parameter to async.js task
我必須遍歷給定的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
如果要限制操作: async.js eachLimit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.