new MyPromise(resolve => {
console.log(1);
resolve(3);
MyPromise.resolve().then(() => console.log(4)).then(() => console.log(5))
}).then(num => { console.log(num) }).then(() => { console.log(6) });
console.log(2)
用原生Promise和MyPromise分别运行这段代码,可以发现输出顺序不一样,所以需要调整下then的实现。具体请看 https://www.jianshu.com/p/4f3bef72758c
感谢作者分享~
Promise实现原理(附源码)本篇文章主要在于探究 Promise 的实现原理,带领大家一步一步实现一个 Promise , 不对其用法做说明,如果读者还对Promise的用法不了解,可以查看阮一峰老师的...