第一章 Promise 概述
1 什么是 Promise
1.1 抽象表达
- Promise 是一门新的技术(ES6规范)。
- Promise 是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理和强大。
1.2 具体表达
- 从语法上来说:Promise 是一个构造函数。
- 从功能上来说:Promise 对象用来封装一个异步操作并可以获取其成功/失败的结果值。
2 Promise 的特性
2.1 Promsie 对象有三种状态
- pending (进行中)
- resolved (已成功)
- rejected (以失败)
2.2 状态一旦改变就不会在变
- pending -> resolved
- pending -> rejected
注意:状态改变之后,任何时候都可以得到这个结果,这与事件不同,事件如果错做了再去监听,是得不到结果的
Promise
对象的状态改变,只有两种可能:从pending
变为fulfilled
和从pending
变为rejected
。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型。为了行文方便,我们用resolved
来表示fulfilled
状态,不包含rejected
状态。