Promise的then方法和catch方法


1、Promise.prototype.then()方法顯然就是Promise的精華。函數聲明:p.then(resolve, reject);。
then()方法不是靜態方法,需要經由Promise實例對象來調用。
then方法有兩個參數,第一個參數是Promise實例對象為Resolved狀態時的回調函數,它的參數就是上面Promise構造函數里resolve傳遞過來的異步操作成功的結果。

第二個參數可選,是Promise實例對象為Rejected狀態時的回調函數,它的參數就是上面Promise構造函數里reject傳遞過來的異步操作失敗的信息。

then方法最強大之處在於,它內部可以使用return或throw來實現鏈式調用。使用return或throw后的返回值是一個新的Promise實例對象(注意,不是原來那個Promise實例對象):

2、Promise.prototype.catch()同樣是實例方法,需要經由Promise實例對象來調用,用於Promise實例對象狀態為Rejected的后續處理,即異常處理。函數聲明:p.catch(reject);

catch方法本質上等價於then(null, reject),參數reject是一個回調函數,它的參數就是Promise對象狀態變為Rejected后,傳遞來的錯誤信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM