Promise
promise可封裝函式,執行後可取得執行狀態,並回傳被封裝函式的結果。
通過鏈式調用,可依序執行函式,簡化多層的callback帶來的複雜性。
Promise處理的事項多半來自外部,所以會藉由回傳結果來進行下一步的動作。
在ES6 Promise標準中,實作內容只有一個建構函式與一個then方法、一個catch方法,再加上四個必需以Promise關鍵字呼叫的API,Promise.resolve、Promise.reject、Promise.all、Promise.race。
Promise物件最後的結果要不然就用一個回傳值來fulfilled(實現),要不然就用一個理由(錯誤)來rejected(拒絕)。
fetch使用Promise架構,只有在網路連線發生問題才會轉為rejected(拒絕)狀態,只要是伺服器有回應都算已實現狀態。
promise物件必定是以下三種狀態中的其中一種: pending(等待中)、fulfilled(已實現)或rejected(已拒絕)。

Promise.all()等待多個 Promise 完成
Last updated
Was this helpful?