- 定义 Promise是异步编程的一种解决方案,所谓Promise就是一个容器,里面保存着某个未来才会结束的事件(通常是一个一步操作)的结果。
- 特点: 2.1 对象的状态不受外界影响,三种状态pending(进行中)、fulfilled(已成功)、rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态 2.2 一旦状态改变,就不会再变,任何时候都可以得到这个结果。如果发生了改变,就会一直保持这个结果,就成为resolved(已定型)。再添加回调,也是这个结果。
- 优缺点: 3.1 优点: 可以将异步操作变成同步操作的流程表达出来,避免层层嵌套。还可以提供统一的接口,使得控制异步操作更容易。 3.2 缺点: 无法取消;不设置回调,内部抛出的错误,不会反应到外部;当处于pending状态时,无法得知目前进展到哪一个阶段
- Promise新建后就会立即执行