首页 >web前端 >js教程 >Promise构造函数的回调什么时候执行?

Promise构造函数的回调什么时候执行?

DDD
DDD原创
2024-11-28 19:12:10334浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn