Javascript(jQuery)で次のことを行う慣用的な方法は何ですか?
- 一連の非同期ジョブを生成します
- 部分的な結果を収集する
- すべてのジョブが完了したら、部分的な結果を組み合わせる
上記は、次の行で達成できます(簡単にするために、要求が順番に処理されると仮定します。より現実的なケースでは、カウンターがその役割を果たします)。
var results = new Array();
$.each(objs, function(i,obj)){
$.getJSON(make_async_request(obj), function(data) {
results[data.key] = data.value;
if (i == objs.length-1)
elaborate(results);
}
});
それは私には醜いように見えます。助言がありますか?