次のパラメーターがあります。
a = [{param:'a'}, {param:'b'}, {param:'c'}]
次のように、各パラメーターの取得リクエストを作成したいと思います。
a.map(function(ai){return $.get('myapi/get?ai='+ai.param)})
すべての取得リクエストが終了したら、どうすればよいですか?
次のように、$.when を使用してみました。
$.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()
イディオムを明らかに誤解しています。各コンポーネントが終了するのを待つのではなく、単一の配列が表示されているため、 に直接渡されるためだと思います。do_something_with(a)
.result
when
.done()
get
どんな助けでも大歓迎です!