什么是Promise
Promise是抽象异步处理对象以及对其进行各种操作的组件,其实Promise就是一个对象,用来传递异步操作的消息,它不是某门语言特有的属性,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象,Promise对象有以下两个特点:
对象的状态不受外界影响
一旦状态改变,就不会再变,任何时候都可以得到这个结果
Promise也以下缺点:
无法取消Promise,一旦新建它就会立即执行,无法中途取消。
如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。
当处于Pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。
Promise/A+规范的Promise
Promise/A+是Promise的一个主流规范,浏览器,node和JS库依据此规范来实现相应的功能,以此规范来实现一个Promise也可以叫做实现一个Promise/A+。
类和构造器的构建
Promise.prototype.then链式支持
静态方法Promise.resolve
静态方法Promise.reject
静态方法Promise.all
1 | /** |
- 静态方法Promise.race
1 | 事务 |
1 | const pro = new Promise((resolve, reject) => { |


