简介
接上文的Promsie
文章,在这篇文章中实现Promsie
常用的方法,并且是实现PromsieA+
的规范等等。
实现 Promise 方法 catch、resolve、reject、all、race 等方法
catch
方法:
相当于调用
then
方法, 但只传入Rejected
状态的回调函数
1 | // 添加catch方法 |
resolve
方法:
静态
resolve
方法
1 | // 如果参数是MyPromise实例或thenable对象,直接返回value |
reject
方法:
静态
reject
方法
1 | // 添加静态reject方法 |
all
方法:
静态
all
方法
1 | // 添加静态all方法 |
race
方法:
静态
race
方法
1 | // 添加静态race方法 |
实现 promiseify 方法
promiseify
是将异步回调函数api
转换为promise
形式。代码实现如下:
1 | // 静态promisify |
其实就是把不同异步函数转为Promise
的实现。