(1)$.Deferred()生成一個deferred對象。
(2)deferred.done()指定操作成功時的回調函數
(3)deferred.fail()指定操作失敗時的回調函數
(4)deferred.promise()沒有參數時,作用為保持deferred對象的運行狀態不變;接受參數時,作用為在參數對象上部署deferred接口。
(5)deferred.resolve()手動改變deferred對象的運行狀態為"已完成",從而立即觸發done()方法。
(6)$.when()為多個操作指定回調函數。
除了這些方法以外,deferred對象還有三個重要方法,上面的教程中沒有涉及到。
(7)deferred.then()
有時為了省事,可以把done()和fail()合在一起寫,這就是then()方法。
$.when($.ajax( "/main.php" ))
.then(successFunc, failureFunc );
如果then()有兩個參數,那么第一個參數是done()方法的回調函數,第二個參數是fail()方法的回調方法。如果then()只有一個參數,那么等同于done()。
(8)deferred.reject()
這個方法與deferred.resolve()正好相反,調用后將deferred對象的運行狀態變為"已失敗",從而立即觸發fail()方法。
(9)deferred.always()
這個方法也是用來指定回調函數的,它的作用是,不管調用的是deferred.resolve()還是deferred.reject(),最后總是執行。
$.ajax( "test.html" )
.always( function() { alert("已執行!");} );
deferred對象的方法
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 上回:老大西歸(2) 第二卷:收服天域門:第十章:老大西歸(3) “老大!”軒想阻止老大繼續胡說下去,但只說了老大...