es6promise 运行周期
时间: 2023-07-31 17:07:29 浏览: 166
ES6 Promise 的运行周期包括三个状态:pending、fulfilled 和 rejected。
1. pending 状态:Promise 实例刚被创建,还未执行异步操作,此时状态为 pending。
2. fulfilled 状态:异步操作执行成功,Promise 实例的状态从 pending 转变为 fulfilled。
3. rejected 状态:异步操作执行失败,Promise 实例的状态从 pending 转变为 rejected。
Promise 实例的状态只能从 pending 转变为 fulfilled 或 rejected,一旦状态转变就不能再次变化。在 Promise 实例的状态发生变化后,可以通过 then 或 catch 方法来处理相应的状态。
例如:
```javascript
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
// 异步操作成功
resolve('Success!');
// 异步操作失败
// reject('Error!');
}, 1000);
});
promise.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
});
```
在上面的例子中,Promise 实例的状态会在 1 秒后变为 fulfilled 或 rejected,然后分别调用 then 或 catch 方法来处理相应的状态。如果异步操作成功,then 方法会接收到一个字符串参数,如果异步操作失败,catch 方法会接收到一个错误对象。
阅读全文