一、reject后的東西,一定會進入then中的第二個回調,如果then中沒有寫第二個回調,則進入catch
二、resolve的東西,一定會進入then的第一個回調,肯定不會進入catch
throw new Error 的情況和rej一樣,但是他倆只會有一個發生
另外,網絡異常(比如斷網),會直接進入catch而不會進入then的第二個回調
reject函數的作用是,將Promise對象的狀態從“未完成”變為“失敗”(即從 pending 變為 rejected),在異步操作失敗時調用,並將異步操作報出的錯誤,作為參數傳遞出去。
對於catch如果異步操作拋出錯誤,狀態就會變為rejected,就會調用catch方法指定的回調函數,處理這個錯誤。另外,then方法指定的回調函數,如果運行中拋出錯誤,也會被catch方法捕獲。