Promise 是 JavaScript 中用于处理异步操作的一种机制。它是一个代表异步操作最终完成或失败的对象,并可以获取到操作的结果。
Promise 可以有三种状态:
- Pending(进行中):表示异步操作正在执行中,尚未完成。
- Fulfilled(已完成):表示异步操作成功完成,并返回一个值。
- Rejected(已失败):表示异步操作发生了错误,并返回一个错误对象。
使用 Promise 可以通过以下方式处理异步操作:
- 创建一个 Promise 对象,并传入一个执行器函数作为参数。执行器函数会立即执行,并接收两个参数:resolve(用于将 Promise 置于 Fulfilled 状态并返回结果)和 reject(用于将 Promise 置于 Rejected 状态并返回错误信息)。
- 在执行器函数中执行异步操作,当操作成功时调用 resolve 方法,并传递操作结果;当操作失败时调用 reject 方法,并传递错误信息。
- 使用
.then()
方法来处理 Promise 对象的成功状态,该方法接收一个回调函数,在异步操作成功时被调用,并接收操作结果作为参数。 - 使用
.catch()
方法来处理 Promise 对象的失败状态,该方法接收一个回调函数,在异步操作失败时被调用,并接收错误信息作为参数。
Promise 还提供了其他方法,如 .finally()
和 .all()
等,用于处理不同的场景和需求。
通过使用 Promise,可以更清晰地组织和管理异步操作的代码,并能够有效地处理成功和失败的情况。