罗和正单双中特

全部展開 | 全部折疊 | 速查表

返回值:DeferredjQuery.when(deferreds)

概述

提供一種方法來執行一個或多個對象的回調函數,延遲對象通常表示異步事件。

如果單一延遲傳遞給jQuery.when ,它是通過這個方法和延遲對象附加的其他方法可訪問綁定的回調函數返回的,如defered.then 。當延遲得到解決或者拒絕,通常的代碼創建了原來的延遲,適當的回調將被調用。例如,jqXHR對象返回jQuery.ajax是一個延期,可以用這種方式:

$.when( $.ajax("test.aspx") ).then(function(ajaxArgs){ 
     alert(ajaxArgs[1]); /* ajaxArgs is [ "success", statusText, jqXHR ] */
});

如果一個參數被傳遞給jQuery.when ,這不是延遲,這將被視為延遲解決,并立即將執行附加任何doneCallbacks。該doneCallbacks傳遞原始的參數。在這種情況下,任何failCallbacks您可能會設置是永遠不會被調用,因為延遲從不拒絕。

例如:

$.when( { testing: 123 } ).done(
   function(x){ alert(x.testing); } /* alerts "123" */
);

在案例中有多個延遲對象傳遞jQuery.when ,該方法返回一個新的“宿主”延遲對象,跟蹤所有已通過Deferreds聚集狀態。該方法能夠解決它的“宿主”延遲盡快解決所有延遲,或拒絕盡快將被拒絕的延遲。如果“宿主”延遲得到解決,它是通過傳遞給解析值,所有的延遲 jQuery.when 。例如,當延遲是jQuery.ajax()請求,參數將是jqXHR對象的要求,以便他們在名單內的說法。

在多延遲情況下,如果延遲一被拒絕,jQuery.when火災立即掌握其推遲failCallbacks。請注意,延遲一些可能仍然在這一點沒有得到解決。如果您需要執行額外的處理對于這種情況,如取消任何未完成的Ajax請求,你可以保持基本jqXHR引用對象在封閉和檢查/取消在failCallback他們。

參數

deferredsV1.5

一個或多個延遲對象,或者普通的JavaScript對象。

示例

描述:

執行Ajax請求后兩個函數是成功的。(見jQuery.ajax()對于一個成功的和錯誤的案件為AJAX請求的完整描述文檔)。

jQuery 代碼:
$.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.");
   }
});

執行函數myfunc當兩個Ajax請求是成功的,如果任一或myFailure有一個錯誤。

jQuery 代碼:
$.when($.ajax("/page1.php"), $.ajax("/page2.php"))
  .then(myFunc, myFailure);
罗和正单双中特
湖北快3一定牛 李嘉诚的理财小故事 泓胜配资 甘肃快三推荐 配资321 麻将规则 澳洲幸运5精准5码二期计划 俊升配资 湖北福彩30选五今天开奖结果 方道配资