首頁 > web前端 > js教程 > Promise建構函式的回呼什麼時候執行?

Promise建構函式的回呼什麼時候執行?

DDD
發布: 2024-11-28 19:12:10
原創
311 人瀏覽過

When is the Promise Constructor's Callback Executed?

Promise 構造函數回呼的同步性

在Promise 構造的上下文中,您可能想知道提供給Promise 的回調的執行時序構造函數。讓我們詳細探討這個問題。

考慮以下程式碼片段:

function doSomethingAsynchronous() {
  return new Promise((resolve) => {
    const result = doSomeWork();

    setTimeout(() => {
      resolve(result);
    }, 100);
  });
}
登入後複製

建構此 Promise 時,何時呼叫 doSomeWork()?

根據ECMAScript規範,執行器函數(提供給建構函數的回呼)被同步呼叫基於承諾建設。這意味著 doSomeWork() 將在 Promise 建立時立即執行,然後回調繼續執行。 MDN 是這樣規定的:

執行器被同步呼叫(一旦 Promise 被建構),以resolveFunc 和rejectFunc 函式作為參數。

執行器呼叫的同步本質是由規範保證。例如,當使用 all 或 race 組成多個 Promise 時,以及當執行器具有同步副作用時,此保證是相關的。

以上是Promise建構函式的回呼什麼時候執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板