建立 Promise 物件時,會傳送一個回調函到建構函式(執行器)。此回調函數負責初始化並履行或拒絕 Promise。然而,這個回調何時執行可能不會立即清楚。
在提供的程式碼片段中,出現了問題:何時呼叫 doSomeWork() 函數來建立 Promise?
答案:
根據 Promise 規範和 MDN 文檔,執行器回調在 Promise 構造完成後立即同步調用。這意味著一旦到達新的 Promise 行,就會執行 doSomeWork()。
附加資訊:
此同步執行確保始終呼叫執行器回調在可能依賴它的其他操作之前。例如,如果您連結多個 Promise 或使用 all 或 race 來組合 Promise,那麼將保證以正確的順序呼叫這些 Promise 的回調。
此外,回呼的同步調用允許Promise 執行會立即產生副作用,如果
注意:
重要的是要理解Promise 的異步行為只有在呼叫執行器回呼並建立Promise 後才會生效。因此,執行器回調中的程式碼將同步執行,而任何後續非同步操作將非同步發生。
以上是Promise 的建構子回呼何時執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!