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

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

jQuery Deferred.then() 方法概述

添加處理程序被調(diào)用時(shí),遞延對象得到解決或者拒絕。

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

參數(shù)

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

doneFilter: 當(dāng)Deferred(延遲)對象得到解決時(shí)被調(diào)用的一個函數(shù)。

failFilter: [可選]當(dāng)Deferred(延遲)對象拒絕時(shí)被調(diào)用的一個函數(shù)。

progressFilter:[可選]當(dāng)Deferred(延遲)對象生成進(jìn)度通知時(shí)被調(diào)用的一個函數(shù)。

doneCallbacks,failCallbacksStringV1.5

doneCallbacks: 一個函數(shù)或函數(shù)數(shù)組,當(dāng)延遲成功時(shí)調(diào)用。

failCallbacks: 一個函數(shù)或函數(shù)數(shù)組,當(dāng)延遲失敗時(shí)調(diào)用。

doneCallbacks, failCallbacks [, progressCallbacks]StringV1.7

doneCallbacks: 一個函數(shù)或函數(shù)數(shù)組,當(dāng)延遲解決時(shí)調(diào)用。

failCallbacks: 一個函數(shù)或函數(shù)數(shù)組,當(dāng)延遲拒絕時(shí)調(diào)用。

progressCallbacks: 一個可選的函數(shù),當(dāng)延遲對象通知進(jìn)度(progress)時(shí)被調(diào)用。

示例

描述:

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

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