Promise怎么取值
时间: 2024-08-30 21:02:11 浏览: 74
Promise是JavaScript中处理异步操作的一个重要机制。它代表了一个未来可能完成,也可能失败的异步操作。Promise对象有两个主要的处理方法:`.then()` 和 `.catch()`。
取值的过程主要通过 `.then()` 方法实现,该方法接受两个参数,第一个是操作成功时调用的回调函数,第二个是操作失败时调用的回调函数(可选)。
当Promise的状态变为"fulfilled"(成功)时,`.then()` 方法中的第一个回调函数会被调用,并且会接收到Promise对象的值。如果Promise的状态变为"rejected"(失败),则第一个参数(成功的回调函数)不会被调用,而是调用 `.then()` 方法链中的 `.catch()` 方法或者 `.then()` 方法的第二个参数(失败的回调函数)。
下面是一个Promise取值的示例代码:
```javascript
let promise = new Promise((resolve, reject) => {
// 异步操作,例如网络请求
setTimeout(() => {
resolve('成功的值'); // 操作成功,调用resolve
// reject('失败的原因'); // 操作失败,调用reject
}, 2000);
});
promise.then(
value => {
console.log(value); // 这里将输出'成功的值'
},
reason => {
console.error(reason); // 如果操作失败,则会输出'失败的原因'
}
).catch(error => {
console.error(error); // 等价于第二个then方法中的失败回调
});
```
阅读全文