我必須迭代給定的JSON對象,併爲其中的每個對象創建一個任務。給定的任務也需要來自這個JSON對象的信息,我不知道如何將這些信息傳遞給我的任務,以便它在執行時可用。將參數傳遞給async.js任務
建立我的任務數組:
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);
回報不確定,這是有道理的,我,因爲e索引i在執行函數時不知道,但我不知道如何解決我的問題。
你的代碼是有點不完整的,因爲的console.log不是一個異步函數。你能舉一個更具體的例子來說明你想要做什麼嗎? – slebetman
@slebetman是的,我試圖儘可能簡化它。基本上我想從外部URL獲得一個json對象並從這個json文件中獲取特定的信息,以便將其存儲在我自己的數據庫中。 – kentor
但是你的評論'因爲在執行函數時我不知道的資源'根據這個例子沒有任何意義。如果這是真的發生了什麼,那麼你發佈的例子是錯誤的(你已經簡化了它,以至於完全消除了這個問題) – slebetman