Promise API
时间: 2024-09-10 16:01:03 浏览: 45
Promise API 是一种特殊的对象,用于异步编程和处理异步操作。它代表了一个未来某个时刻才会结束的事件(可能是成功的结果,也可能是失败的原因)。Promise 对象有三种状态:等待(pending)、已完成(fulfilled)和已拒绝(rejected)。一旦 Promise 的状态改变,它将被锁定,无法再改变。
Promise 通常用于处理那些不会立即返回结果的操作,比如网络请求。Promise API 提供了以下几个主要的方法来处理异步操作:
1. `then()`: 接收两个参数,第一个是 Promise 状态变为 fulfilled 时的回调函数,第二个是状态变为 rejected 时的回调函数。这个方法返回一个新的 Promise,允许链式调用。
2. `catch()`: 接收一个错误处理的回调函数,仅当 Promise 被拒绝时调用。它实际上是 `then(null, onRejected)` 的语法糖。
3. `finally()`: 无论 Promise 最终状态如何都会执行的回调函数,可以执行清理工作或者完成后的状态通知。
Promise 对象的构造函数接受一个执行器(executor)函数作为参数,该执行器有两个参数:resolve 和 reject。这两个函数也是由 JavaScript 引擎提供,用于改变 Promise 的状态。
以下是一个简单的 Promise 使用示例:
```javascript
const promise = new Promise((resolve, reject) => {
// 执行异步操作的代码
if (/* 异步操作成功 */) {
resolve(value); // 将 Promise 状态改为 fulfilled
} else {
reject(error); // 将 Promise 状态改为 rejected
}
});
promise.then(
(value) => {
// 成功时执行的代码
},
(error) => {
// 失败时执行的代码
}
);
```
阅读全文