$.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);
© 2010 - 2017 STUDIO KINGDOM