Promise 是 JavaScript 中的一个对象,用于处理异步操作。它代表了一个最终可能完成(也可能被拒绝)的异步操作及其结果值。Promise 对象用于更复杂的异步编程模式,包括使用 .then() 和 .catch() 链式调用来处理异步操作的结果。
Promise 有三种状态:
- Pending(待定):初始状态,既不是成功,也不是失败状态。
- Fulfilled(已实现):意味着操作成功完成。
- Rejected(已拒绝):意味着操作失败。
Promise 的关键特性是:
- 一旦状态从 Pending 变为 Fulfilled 或 Rejected,就不能再更改状态。
- 一旦状态变为 Fulfilled 或 Rejected,就会触发相应的 .then() 或 .catch() 回调函数。
Promise 的基本用法如下:
javascript
const promise = new Promise((resolve, reject) => { // 模拟异步操作 setTimeout(() => { if (/* 异步操作成功 */) { resolve('操作成功!'); } else { reject('操作失败!'); } }, 1000); }); promise.then(result => { console.log(result); // 如果异步操作成功,输出 '操作成功!' }).catch(error => { console.error(error); // 如果异步操作失败,输出 '操作失败!' }); 此外,Promise 还支持链式调用、Promise.all、Promise.race 等高级用法,用于处理更复杂的异步逻辑。
还没有评论,来说两句吧...