2016-10-21 5 views
0

私は(doSomethingの前に、非同期の$アヤックス機能のresponceを待つことができますどのようにこのどのように異なるローカル空間

if(some condition){ 
    $.ajax(...); 
} 
if(some condition){ 
    $.ajax(...); 
} 
doSomething(); 

のように私のプログラムの開発の構造を持っている)で呼び出された非同期AJAXリクエストを待つのか?非同期を使用するのは「真の方法」ですか?偽ですか?

+0

の設定 '非同期:false'のは、ほとんど何も解決することはありません。あなたがそれを必要とするならば、それは主にデザインが悪いためです。 A. Wolffの解決策が好ましい方法になるはずです。 – smoksnes

+0

@smoksnesがすでに言ったようにasync:falseを使用しないでください。あなたは見てみることをお勧めします[stackoverflow.com/questions/10004112/how-can-i-wait-for-set-of-asynchronous-callback-functions](http://stackoverflow.com/questions/10004112/非同期コールバック関数のための待ち受け方法) – Flyer53

答えて

2

あなたは配列内のこれらの要求をプッシュすることができます:

var requests = []; 
if(some condition){ 
    requests.push($.ajax(...)); 
} 
if(some condition){ 
    requests.push($.ajax(...)); 
} 

$.when.apply($, requests).done(doSomething); 
関連する問題