Latest web development tutorials

jQuery jQuery.Deferred() 方法

jQuery 雜項方法 jQuery雜項方法


定義和用法

$.Deferred() 是一個構造函數,用來返回一個鍊式實用對象方法來註冊多個回調,並且調用回調隊列,傳遞任何同步或異步功能成功或失敗的狀態。

提示: 1. $.Deferred()構造函數創建一個新的Deferred(延遲)對象, jQuery.Deferred可傳遞一個可選的函數,該函數在構造方法返回之前被調用並傳遞一個新的Deferred對像作為函數的第一個參數。 例如被調用的函數可以使用deferred.then()來附加回調函數。
2. 一個Deferred 對像開始於掛起狀態。 任何使用deferred.then(), deferred.always(), deferred.done(), 或者deferred.fail() 添加到這個對象的回調函數都是排隊等待執行的。 調用deferred.resolve() 或eferred.resolveWith() 轉換延遲到解決狀態後立即執行設置的doneCallbacks 。 調用deferred.reject() 或deferred.rejectWith() 轉換延遲到拒絕狀態後立即執行設置的failCallbacks 。 一旦對像已經進入了解決或拒絕狀態,它保持該狀態。 回調仍然可以添加到已解決或已拒絕的Deferred 對象——它們會立即執行。


語法

$.Deferred( [beforeStart ] )

参数 描述
beforeStart Function( Deferred deferred )类型 一个在构造函数返回之前调用的函数


jQuery 雜項方法 jQuery雜項方法