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

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

概述

新增處理程式被呼叫時,遞延對像得到解決或者拒絕。

所有三個參數(包括progressCallbacks ,在jQuery的1.7 )可以是一個單獨的函式或一個函式的陣列。 其中一個參數,也可以為空,如果沒有該型別的回撥是需要的。或者,使用.done()或.fail()僅設定doneCallbacks或failCallbacks。當遞延解決,doneCallbacks被呼叫。若遞延代替拒絕,failCallbacks被呼叫。回撥按他們新增的順序執行。一旦deferred.then返回延遲對象,延遲對象的其它方法也可以鏈接到了這裡,包括增加.then()方法。有關詳細資訊,請參閱檔案 Deferred object

參數

doneFilter [, failFilter ] [, progressFilter ] String V1.8

doneFilter : 當Deferred(延遲)對像得到解決時被呼叫的一個函式。

failFilter : [可選]當Deferred(延遲)對像拒絕時被呼叫的一個函式。

progressFilter :[可選]當Deferred(延遲)對像產生進度通知時被呼叫的一個函式。

doneCallbacks,failCallbacks String V1.5

doneCallbacks : 一個函式或函式陣列,當延遲成功時呼叫。

failCallbacks : 一個函式或函式陣列,當延遲失敗時呼叫。

doneCallbacks, failCallbacks [, progressCallbacks] String V1.7

doneCallbacks : 一個函式或函式陣列,當延遲解決時呼叫。

failCallbacks : 一個函式或函式陣列,當延遲拒絕時呼叫。

progressCallbacks: 一個可選的函式,當延遲對像通知進度(progress)時被呼叫。

示例

描述:

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

jQuery 程式碼:

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