I以下のパラメータがあります。
a = [{param:'a'}, {param:'b'}, {param:'c'}]
が、私はこのように、各パラメータのGETリクエストをしたいのですが:
a.map(function(ai){return $.get('myapi/get?ai='+ai.param)})
を
すべての取得リクエストが完了したら、どうすればよいですか?
私はこのように、$ .whenを使用して試してみました:私はdo_something_with(a)
を呼び出すときに、私は新しい.result
属性を持っていないよう
$.when(
a.map(function(ai){return $.get('myapi/get?ai='+ai)})
)
.done(function(results){
results.forEach(function(ri, i){
ri.success(function(result){
a[i].result = result
}
}
do_something_with(a)
}
が、残念ながら私ははっきりとこの$.when().done()
イディオムを誤解しています。私は、が1つの配列を見ているので、get
が完了するのを待つのではなく、.done()
にまっすぐに通るので、それは推測しています。
助けていただけたら幸いです!
「ri.success」とは何ですか? 'ri'はAJAX呼び出しから返された結果です(または、コード内の他のエラーではない場合)、遅延/' jqXHR'オブジェクトではありません。 – Tgr