promise的重要性想必大家都知道,axios就是基于promise的,下面就来说说promise
JavaScript中的Promise是一种用于处理异步操作的对象,它代表了一个尚未完成但预期在未来会完成的操作的结果。Promise有三种状态:
- Pending(待定):初始状态,既不是成功,也不是失败。
- Fulfilled(已实现):表示操作成功完成。
- Rejected(已拒绝):表示操作失败。
Promise对象接受一个函数作为参数,该函数有两个参数:resolve
和reject
,分别用于将Promise状态改变为fulfilled或rejected。
以下是一个简单的Promise示例:
const promise = new Promise((resolve, reject) => {
// 异步操作
if (/* 异步操作成功 */) {
resolve('成功结果');
} else {
reject('失败原因');
}
});
promise.then(
(value) => {
console.log('成功:', value);
},
(reason) => {
console.log('失败:', reason);
}
);
在这个例子中,我们创建了一个新的Promise对象,并在其中执行异步操作。如果操作成功,我们调用resolve
函数并传入成功的结果;如果操作失败,我们调用reject
函数并传入失败的原因。
then
方法用于指定当Promise状态变为fulfilled或rejected时执行的回调函数。then
方法接受两个参数:第一个参数是Promise状态变为fulfilled时要执行的回调函数,第二个参数是Promise状态变为rejected时要执行的回调函数。
除了then
方法,Promise还提供了其他一些方法,如catch
、finally
、all
、race
等,用于处理不同的异步操作场景。