jQuery jQuery.Deferred() 方法
定義和用法
$.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 )类型 一个在构造函数返回之前调用的函数 |