我们知道Promise.then(callback)
中callback
调用的时间点为Promise
状态变为resolved
时
new Promise((resolve, reject) => {
do something
...
resolve(value)
}).then((res) => {
do other things
...
}).then(callback)
如上,我想要验证第二个then
中callback
的调用是在第一个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
其实,当我们开始思考语言机制的时候,更好的做法是看 源码
网友评论