JavaScript Promise 是一种处理异步操作的手段,它可以让我们更方便地处理异步代码,避免回调地狱。下面是一些 Promise 的知识点:
- 创建 Promise:可以使用 Promise 的构造函数来创建一个 Promise 对象。构造函数接受一个执行器函数作为参数,该函数有两个参数:resolve 和 reject,分别用于处理异步操作成功和失败的情况。
- 状态:Promise 有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。一旦状态变为 fulfilled 或 rejected,就称为 settled(已定型)。
- then() 方法:Promise 实例有一个 then() 方法,用于指定异步操作成功和失败时的回调函数。then() 方法可以链式调用,返回一个新的 Promise 对象,以便处理多个异步操作。
- catch() 方法:Promise 实例还有一个 catch() 方法,用于指定异步操作失败时的回调函数。
- Promise.all():该方法接受一个包含多个 Promise 的可迭代对象,返回一个新的 Promise。只有所有的 Promise 都变为 fulfilled 状态时,新的 Promise 才会变为 fulfilled 状态。如果其中一个 Promise 变为 rejected 状态,新的 Promise 就会立即变为 rejected 状态。
- Promise.race():该方法接受一个包含多个 Promise 的可迭代对象,返回一个新的 Promise。只要其中一个 Promise 变为 fulfilled 或 rejected 状态,新的 Promise 就会立即变为对应的状态。