早上醒來,繼續討論deferred對象和primise對象。html
deferred對象的的方法:ajax
1.$.Deferred()-----生成一個deferred對象promise
2.deferred.done()-----指定操做成功時的回調函數函數
3.deferred.fail()------指定操做失敗時的回調函數spa
4.deferred.promise()------沒有參數是,返回一個新的deferred對象,該對象的運行狀態沒法改 變;接受參數的時候,做用爲在參數對象上部署deferred接口code
5.deferred.resolve()----手動改變deferred對象的運行狀態爲「已完成」,從而當即出發done()方法htm
6.deferred.reject()-----改變deferred對象的狀態爲「已失敗」,出發fail()方法對象
7.$.when()-----爲多個操做指定回調函數blog
8.deferred.then()-----then()的兩個參數,第一個參數是done()方法的回調函數,第二個參數是 fail()方法的回調函數。若是隻有 一個回調函數,默認done()接口
1 $.ajax('test.html') 2 .then(successFunc,failureFunc)
9.deferred.always()-----無論調用的是deferred.resolve()仍是deferred.reject(),always()的回 調函數老是執行
1 $.ajax('test.html') 2 .always(function(){})