1. Promise的基本介绍
在 JavaScript 中,Promise
是一种用于处理异步操作的机制,它代表一个异步操作的最终完成(或失败)及其结果值。Promise 的目标是解决传统回调函数的嵌套问题(即“回调地狱”)。
Promise 是一个对象,代表着一个异步操作的结果。Promise 有三种状态:
- Pending(待定):初始状态,异步操作尚未完成。
- Fulfilled(已完成):异步操作已成功完成,且返回了一个值。
- Rejected(已拒绝):异步操作失败,返回了一个错误原因。
Promise 的基本构造形式如下:
let promise = new Promise((resolve, reject) => {// 异步操作if (/* 操作成功 */) {resolve(value); // 操作成功,返回结果} else {reject(error); // 操作失败,返回错误信息}
});
2. Promise的用法
2.1 基本使用
Promise 对象可以通过 .then()
和 .catch()
方法来处理异步操作的结果。
let promise = new Promise((resolve, reject) => {setTimeout(() => {const success = true; // 模拟一个异步操作的成功与失败if (success) {resolve('操作成功');} else {reject('操作失败');}}, 1000);
});// 使用 then 和 catch 处理结果
promise.then((result) => {console.log(result); // 输出:操作成功}).catch((error) => {console.log(error); // 如果失败则输出错误信息});
2.2 链式调用
Promise 支持链式调用,可以让多个异步操作顺序执行:
let promise = new Promise((resolve, reject) => {setTimeout(() => resolve('第一步完成'), 1000)