用法
deferred.promise( [target ] ) => Promise
deferred.promise( [target ] ) => Promise
說明:返回一個 Deferred 的 Promise 對象。
deferred.promise()
方法允許異步函數防止其他代碼幹擾其內部請求的進度或狀態。 Promise 僅公開附加附加處理程序或確定狀態所需的延遲方法(then
、done
、fail
、always
、pipe
、progress
、state
和 promise
),但不是那些改變狀態的(resolve
、reject
、notify
、resolveWith
、rejectWith
和notifyWith
)。
如果提供了target
,deferred.promise()
會將方法附加到它上麵,然後返回這個對象而不是創建一個新對象。這對於將 Promise 行為附加到已經存在的對象很有用。
如果您正在創建 Deferred,請保留對 Deferred 的引用,以便在某個時候可以解決或拒絕它。通過deferred.promise()
返回only
Promise 對象,以便其他代碼可以注冊回調或檢查當前狀態。
有關詳細信息,請參閱 Deferred object 的文檔。
例子:
創建一個 Deferred 並設置兩個基於計時器的函數,以在隨機間隔後解決或拒絕 Deferred。無論哪個先觸發"wins",都會調用其中一個回調。第二次超時無效,因為延遲已經從第一次超時操作完成(處於已解決或拒絕狀態)。還要設置一個基於計時器的進度通知函數,並調用一個將"working..." 添加到文檔正文的進度處理程序。
|
使用 target 參數將現有對象提升為 Promise:
|
相關用法
- JQuery deferred.pipe()用法及代碼示例
- JQuery deferred.done()用法及代碼示例
- JQuery deferred.always()用法及代碼示例
- JQuery deferred.then()用法及代碼示例
- JQuery deferred.catch()用法及代碼示例
- JQuery deferred.fail()用法及代碼示例
- JQuery delay()用法及代碼示例
- JQuery delegate()用法及代碼示例
- JQuery dequeue()用法及代碼示例
- JQuery detach()用法及代碼示例
- JQuery data()用法及代碼示例
- JQuery die()用法及代碼示例
- JQuery dblclick()用法及代碼示例
- JQuery Mobile Popup initSelector用法及代碼示例
- JQuery Mobile Collapsibleset disabled用法及代碼示例
- JQuery UI Datepicker prevText用法及代碼示例
- JQuery ajaxError()用法及代碼示例
- JQuery Mobile Selectmenu defaults用法及代碼示例
- JQuery UI Tabs event用法及代碼示例
- JQuery UI Selectable appendTo用法及代碼示例
- JQuery UI :focusable Selector用法及代碼示例
- JQuery UI Selectmenu disabled用法及代碼示例
- JQuery UI Button classes用法及代碼示例
- JQuery .jquery用法及代碼示例
- JQuery .scroll()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 deferred.promise()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。