第一章 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 状态。

3 Promise 的基本流程

Promise 的基本流程

results matching ""

    No results matching ""