1、初始结构搭建
1 | //声明构造函数 |
2、resolve 和 reject 实现,以及 throw 抛出错误改变状态
1 | //声明构造函数 |
3、状态只能修改一次,then 方法执行回调,异步任务 then 方法执行回调,指定多个回调
1 | //声明构造函数 |
4、同步修改状态 then 返回结果,异步修改状态 then 返回结果
同步
1 | Promise.prototype.then = function (onResolved, onRejected) { |
异步
1 | //添加 then 方法 |
5、then 方法优化,catch 方法与异常穿透,值传递
1 | //添加 then 方法 |
6、Promise.resolve,Promise,reject,Promise,all,Promise.race 实现
1 | //添加 resolve 方法 |
7、then 回调函数异步执行
1 | function Promise(executor) { |