$.when()

単数、または複数のオブジェクト(通常はDeferredのような非同期イベントに関するもの)を指定することで、指定した全てのオブジェクトでコールバックを呼ぶ準備が出来た時点で、このメソッドにそれぞれのコールバック関数が渡され、取りまとめた処理を行う事が出来るようになります。

$.when( deferreds ) 1.5追加

戻り値:Promise

引数 説明
deferreds 1つ、または複数のDeferredオブジェクトを指定します。 また、プレーンなjavaScriptのオブジェクトを指定することも可能です。
$.when( $.ajax("test.aspx") ).then(function(ajaxArgs){
     alert(ajaxArgs[1]); /* ajaxArgs is [ "success", statusText, jqXHR ] */
});
$.when( { testing: 123 } ).done(
   function(x){ alert(x.testing); } /* alerts "123" */
);
$.when($.ajax("/page1.php"), $.ajax("/page2.php")).done(function(a1,  a2){
    /* a1 and a2 are arguments resolved for the
        page1 and page2 ajax requests, respectively */
   var jqXHR = a1[2]; /* arguments are [ "success", statusText, jqXHR ] */
   if ( /Whip It/.test(jqXHR.responseText) ) {
      alert("First page has 'Whip It' somewhere.");
   }
});
$.when($.ajax("/page1.php"), $.ajax("/page2.php"))
  .then(myFunc, myFailure);

 Back to top

© 2010 - 2017 STUDIO KINGDOM