验证链式Promise执行流程

2019-10-30  本文已影响0人  stanf1l

我们知道Promise.then(callback)callback调用的时间点为Promise状态变为resolved

new Promise((resolve, reject) => {
  do something
  ...
  resolve(value)
}).then((res) => {
  do other things
  ...
}).then(callback)

如上,我想要验证第二个thencallback的调用是在第一个then中的回调执行完之后,也就是验证第一个then返回的Promise的resolve时间点是在它执行完回调之后

代码如下

Promise.resolve().then(() => {
  for (let i = 1; i < 100; i++) console.log(1)
}).then(() => {
  console.log(2)
})

// expect: 
// 1(99)
// 2

其实,当我们开始思考语言机制的时候,更好的做法是看 源码

image.png
上一篇 下一篇

猜你喜欢

热点阅读