狀態:1、pending進行中的狀態,此狀態初始化,在過程中還沒有結果;2、fulfilled成功狀態,resolved狀態會觸發後續的then回呼函數;3、rejected失敗狀態,rejected狀態會觸發後續的catch回呼函數。
如何快速入門VUE3.0:進入學習
本教學操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。
三種狀態
1.pending:在過程中還沒有結果
2.resolved:成功
3.rejected:失敗
狀態變化
1、pending -> resolved
2、pending -> rejected
狀態的表現
pending狀態不會觸發then和catch
resolved狀態會觸發後續的then回調函數
rejected狀態會觸發後續的catch回調函數
then和catch改變狀態
then正常情況下會返回resolved,報錯則返回rejected
catch正常情況下會返回resolved,報錯則回傳rejected
測試題
//第一題(結果會印出來1,3,回傳resolved狀態) Promise.resolve().then(()=>{ console.log(1) //1 resolved }).catch(()=>{ console.log(2) }).then(()=>{ console.log(3) // 3 resolved }) //第二題(結果會印出來1,2,3) Promise.resolve().then(()=>{ console.log(1) //1 throw new Error("error1") //rejected }).catch(()=>{ console.log(2) //2 resolved }).then(()=>{ console.log(3) //3 resolved }) //第三題(結果會印出來1,2) Promise.resolve.then(()=>{ console.log(1) //1 throw new Error("error1") //rejected }).catch(()=>{ console.log(2) //2 resolved }).catch(()=>{ console.log(3)})