重新理解了promise:
`let p = new Promise((resolve,reject)=>{
setTimeOut(()=>{
console.log('執行完成');
console.log('隨便什麼資料')
},2000)
複製程式碼
}) `
總結:
1、promise是自動執行
2、將promise放到函式中,然後通過呼叫函式來執行
3、catch捕捉失敗的情況
效果和寫在then的第二個引數裡面一樣。不過它還有另外一個作用:在執行resolve的回撥(也就是上面then中的第一個引數)時,如果丟擲異常了(程式碼出錯了),那麼並不會報錯卡死js,而是會進到這個catch方法中。
4、Promise.all([xxx,xxx,xxx])
當所有的非同步操作執行完畢後才去回撥
5、Promise.race([xxx,xxx,xxx])
誰跑的慢,以誰為準執行回撥