特定の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);
戻り、未定義
、理にかなっています私、th eインデックスは関数が実行されている時点ではわかりませんが、私はどのように問題を解決できるのでしょうか。
あなたのコードが不完全の一種です。あなたは何をしようとしているのより具体的な例を挙げることができますか? – slebetman
@slebetmanはい私は可能な限り簡素化しようとしました。基本的に私は外部URLからjsonオブジェクトを取得し、このjsonファイルから特定の情報を取り出して自分のデータベースに格納したいと考えています。 – kentor
しかし、あなたのコメントは '実行されている関数が実行されている時には知られていないので、この例に基づいて何の意味もありません。それが本当に起こっているなら、あなたが投稿した例は間違ったものです(問題を完全に取り除くために単純化しました) – slebetman