首先看看原生Promise有哪些功能:
- 支持同步和異步
- 一個實體的狀態只能變更一次
- 支持鏈式呼叫
- 如果回呼函式回傳了新的實體,后續的then的執行權應該交給這個實體
- 提供快速解決和拒絕的實體
- 提供批量和優先
- 實體內部的報錯是可控的
接下來嘗試實作

注釋挺明了的,就不過分贅述啦,說下思路:
- js是同步執行的,想要實作異步,就得考慮使用快取
- 在回呼函式回傳G_Promise實體的情況下,后續then的執行權怎么移交給這個實體?resolve和onResolved都只有一個引數,完全可以把resolve傳給這個實體的then
- 原生Promise的錯誤不會暴露在外面,那就得考慮try...catch...
- all...then...執行的時候也能保證時機恰當,all的原理貌似也是G_Promise
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/518994.html
標籤:其他
