栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Promise构造函数回调是否异步执行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Promise构造函数回调是否异步执行?

  1. 设完成为Call(执行者,未定义,«resolvingFunctions。[[Resolve]],resolvingFunctions。[[Reject]]»)。
  2. 如果完成是突然完成,则
    • 令status为Call(resolvevingFunctions。[[Reject]],undefined,«completion。[[value]]»)。
    • ReturnIfAbrupt(状态)。

ES6标准指出,承诺的实现 始终 是异步的(请参见25.4.5.3

Promise.prototype.then
节和随附的25.4.5.3.1节
PerformPromiseThen
)。我已将相关材料放在下面。

然后履行承诺

  1. 否则,如果promise的[[PromiseState]]内部广告位的值“已实现”,
    • 令value为promise的[[PromiseResult]]内部广告位的值。
    • 执行EnqueueJob(“ PromiseJobs”,PromiseReactionJob,«fulfillReaction,value»)。
  2. 否则,如果promise的[[PromiseState]]内部广告位的值被“拒绝”,
    • 假设reason为promise的[[PromiseResult]]内部广告位的值。
    • 执行EnqueueJob(“ PromiseJobs”,PromiseReactionJob,«rejectReaction,reason»)。

TLDR :传递给promise的函数是同步执行的,但是后续

then
调用始终是异步执行的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575186.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号