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

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

jQuery Deferred.then() 方法概述

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

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

參數(shù)

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

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

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

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

doneCallbacks,failCallbacksStringV1.5

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

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

doneCallbacks, failCallbacks [, progressCallbacks]StringV1.7

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

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

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

示例

描述:

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

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