js promise对象
时间: 2023-10-31 17:59:41 浏览: 90
JavaScript中的Promise对象用于处理异步操作。它是一种用于表示异步操作的结果的容器,并提供了一些方法来处理这些结果。
一个Promise对象有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。当一个操作是异步的时候,Promise对象可以返回一个pending状态的实例,并在操作完成后,可以改变为fulfilled或rejected状态。
Promise对象具有以下几个重要的方法:
1. then():用于注册一个或多个回调函数,当Promise对象的状态变为fulfilled时调用。then()方法接受两个参数,第一个参数是fulfilled状态的回调函数,第二个参数是rejected状态的回调函数。
2. catch():用于注册一个回调函数,当Promise对象的状态变为rejected时调用。
3. finally():用于注册一个回调函数,不管Promise对象的状态是fulfilled还是rejected,该回调函数都会被调用。
通过链式调用then()方法,可以实现对多个异步操作的依次执行和处理。
下面是一个简单的例子来说明Promise对象的使用:
```javascript
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
const randomNum = Math.random();
if (randomNum > 0.5) {
resolve('Success');
} else {
reject('Error');
}
}, 1000);
});
promise.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
}).finally(() => {
console.log('Promise completed');
});
```
在上述例子中,通过setTimeout模拟了一个异步操作,1秒后随机判断返回成功或失败。根据返回的结果,通过then()方法执行成功回调函数或通过catch()方法执行错误回调函数,最后通过finally()方法输出"Promise completed"。
阅读全文