Promise中的resolve与reject的作用
时间: 2024-11-03 14:21:34 浏览: 5
js代码-promise resolve reject
在JavaScript的Promise对象中,`resolve` 和 `reject` 是两个关键方法,用于控制Promise的状态流转。这两个方法分别对应Promise的不同生命周期:
1. **resolve**: 当异步操作成功完成,并有可用的结果时,我们调用`resolve(value)`。这个方法将当前Promise的状态改变为已完成(fulfilled),并将提供的值(通常是数据)传递给`.then()`链中的下一个函数。如果`value`是一个Promise,那么将会等待其解析后再继续。
示例:
```javascript
const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('Success'), 1000);
});
promise.then(result => console.log(result)); // 输出 "Success" after 1 second
```
2. **reject**: 如果异步操作失败或者遇到错误,我们使用`reject(error)`。这将把当前Promise的状态变为已拒绝(rejected),并传入一个错误对象到`.catch()`处理函数中。同样,如果`error`也是一个Promise,会等待其拒绝后继续。
示例:
```javascript
const promise = new Promise((resolve, reject) => {
throw new Error('An error occurred');
});
promise.catch(error => console.error(error.message)); // 输出 "An error occurred"
```
阅读全文