StackOverflowの素晴らしいリファレンスに基づいて、$.get
リクエストが完了した後に$.when()
を使用してイベントをトリガーすることがわかっています。AJAX .getコールに変数を割り当てる
しかし、$.get
がforループ内にある場合はどうなりますか?
for (i = 0; i < 5; i++) {
$.get()...
}
$.when().done(function(a){
}
だから、私は配列に各変数を割り当てるだろうと思った:
var d = Array(5);
for (i = 0; i < 5; i++) {
d[0] = $.get()...
}
$.when(d).done(function(a){
...
}
それが動作するようには思えません。提案する代替案はありますか?それとも、私は正しいことを近づけることをやっていますか?
私はこれを試しました。 'requests.push'を実行すると、すべての' $ .get'リクエストが起動します。だから、すべてのリクエストはあなたが '$ .when'に行くときに行われるので、' .then'は決して起動しません。 – Rio
@リオ - それは約束の仕方ではありません。 '.then'は、すべての約束が解決されたときに、すでに解決されているかどうかにかかわらず、いつまでも将来解決されるでしょう。 '.then'が決して発動しない場合は、おそらくそれらのすべてが解決されていない可能性があります(1つ以上が失敗した可能性があります)。また、もちろん、彼らはあなたがそれらを作成するとすぐに彼らの要求を行います - あなたはいつそれらを要求したいですか? – Adam
あなたはそうです。そのうちの1つが失敗しました。失敗から脱出し、それがあっても続ける方法はありますか? – Rio