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

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

jQuery Deferred.then() 方法概述

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

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

參數(shù)

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

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

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

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

doneCallbacks,failCallbacksStringV1.5

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

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

doneCallbacks, failCallbacks [, progressCallbacks]StringV1.7

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

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

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

示例

描述:

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

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