返回值:Deferred Objectdeferred.then(doneFilter [, failFilter ] [, progressFilter ])
jQuery Deferred.then() 方法概述
添加處理程序被調用時(shí),遞延對象得到解決或者拒絕。
所有三個(gè)參數(包括progressCallbacks ,在jQuery的1.7 )可以是一個(gè)單獨的函數或一個(gè)函數的數組。 其中一個(gè)參數,也可以為空,如果沒(méi)有該類(lèi)型的回調是需要的?;蛘?,使用.done()或.fail()僅設置doneCallbacks或failCallbacks。當遞延解決,doneCallbacks被調用。若遞延代替拒絕,failCallbacks被調用?;卣{按他們添加的順序執行。一旦deferred.then返回延遲對象,延遲對象的其它方法也可以鏈接到了這里,包括增加.then()方法。有關(guān)詳細信息,請參閱文件Deferred object 。
參數
doneFilter [, failFilter ] [, progressFilter ]StringV1.8
doneFilter: 當Deferred(延遲)對象得到解決時(shí)被調用的一個(gè)函數。
failFilter: [可選]當Deferred(延遲)對象拒絕時(shí)被調用的一個(gè)函數。
progressFilter:[可選]當Deferred(延遲)對象生成進(jìn)度通知時(shí)被調用的一個(gè)函數。
doneCallbacks,failCallbacksStringV1.5
doneCallbacks: 一個(gè)函數或函數數組,當延遲成功時(shí)調用。
failCallbacks: 一個(gè)函數或函數數組,當延遲失敗時(shí)調用。
doneCallbacks, failCallbacks [, progressCallbacks]StringV1.7
doneCallbacks: 一個(gè)函數或函數數組,當延遲解決時(shí)調用。
failCallbacks: 一個(gè)函數或函數數組,當延遲拒絕時(shí)調用。
progressCallbacks: 一個(gè)可選的函數,當延遲對象通知進(jìn)度(progress)時(shí)被調用。
示例
描述:
一旦jQuery.get方法返回一個(gè)來(lái)自延遲的對象的jqXHR對象,我們可以附加一個(gè)成功回調使用.then方法。
jQuery 代碼:
$.get("test.php").then(
function(){ alert("$.get succeeded"); },
function(){ alert("$.get failed!"); }
);