關於promise中reject和catch的問題


一、reject后的東西,一定會進入then中的第二個回調,如果then中沒有寫第二個回調,則進入catch

二、resolve的東西,一定會進入then的第一個回調,肯定不會進入catch

throw new Error 的情況和rej一樣,但是他倆只會有一個發生 
另外,網絡異常(比如斷網),會直接進入catch而不會進入then的第二個回調

reject函數的作用是,將Promise對象的狀態從“未完成”變為“失敗”(即從 pending 變為 rejected),在異步操作失敗時調用,並將異步操作報出的錯誤,作為參數傳遞出去。

對於catch如果異步操作拋出錯誤,狀態就會變為rejected,就會調用catch方法指定的回調函數,處理這個錯誤。另外,then方法指定的回調函數,如果運行中拋出錯誤,也會被catch方法捕獲。


免責聲明!

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



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