promise的resolve执行顺序?

如下段代码分别截取自阮一峰ES6教程,为什么throw会在resolve之后而log又在resolve之前?这个顺序是如何决定的?
image.png

image.png

阅读 1.8k
2 个回答

new promise中的函数(excutor)会同步执行
先resolve(1) 再把then中的 console(r)放入微任务队列中 此时r为resolve的参数1
然后再执行打印2

同步任务执行完
执行微任务 打印1

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题