首頁  >  延遲對象  > def.then(d[,f][,p])

返回值:Deferred Objectdeferred.then(doneFilter [, failFilter ] [, progressFilter ])

jQuery Deferred.then() 方法概述

添加處理程序被調用時,遞延對象得到解決或者拒絕。

所有三個參數(包括progressCallbacks ,在jQuery的1.7 )可以是一個單獨的函數或一個函數的數組。 其中一個參數,也可以為空,如果沒有該類型的回調是需要的?;蛘?,使用.done()或.fail()僅設置doneCallbacks或failCallbacks。當遞延解決,doneCallbacks被調用。若遞延代替拒絕,failCallbacks被調用?;卣{按他們添加的順序執(zhí)行。一旦deferred.then返回延遲對象,延遲對象的其它方法也可以鏈接到了這里,包括增加.then()方法。有關詳細信息,請參閱文件Deferred object 。

參數

doneFilter [, failFilter ] [, progressFilter ]StringV1.8

doneFilter: 當Deferred(延遲)對象得到解決時被調用的一個函數。

failFilter: [可選]當Deferred(延遲)對象拒絕時被調用的一個函數。

progressFilter:[可選]當Deferred(延遲)對象生成進度通知時被調用的一個函數。

doneCallbacks,failCallbacksStringV1.5

doneCallbacks: 一個函數或函數數組,當延遲成功時調用。

failCallbacks: 一個函數或函數數組,當延遲失敗時調用。

doneCallbacks, failCallbacks [, progressCallbacks]StringV1.7

doneCallbacks: 一個函數或函數數組,當延遲解決時調用。

failCallbacks: 一個函數或函數數組,當延遲拒絕時調用。

progressCallbacks: 一個可選的函數,當延遲對象通知進度(progress)時被調用。

示例

描述:

一旦jQuery.get方法返回一個來自延遲的對象的jqXHR對象,我們可以附加一個成功回調使用.then方法。

jQuery 代碼:
$.get("test.php").then(
    function(){ alert("$.get succeeded"); },
    function(){ alert("$.get failed!"); }
);