Promise 是 JavaScript 中用于处理异步操作的对象。它代表一个异步操作的最终完成(或失败)及其结果值。Promise 有三种状态:
then
方法用于指定 Promise 对象状态变为 resolved 或 rejected 时的回调函数。
then
方法返回一个新的 Promise 对象,这使得可以进行链式调用,处理多个异步操作。then
和 catch
方法可以方便地处理异步操作中的错误。Promise 常用于处理异步操作,如网络请求、文件读取、定时器等。
即使发生错误,then
方法中的成功回调也会被触发,这是因为 then
方法默认只处理 resolved 状态的 Promise。如果需要在发生错误时执行某些操作,需要使用 catch
方法。
为了确保在发生错误时也能执行相应的操作,可以使用 catch
方法来捕获错误。
const promise = new Promise((resolve, reject) => {
// 模拟异步操作
setTimeout(() => {
const isError = true;
if (isError) {
reject(new Error('Something went wrong'));
} else {
resolve('Success');
}
}, 1000);
});
promise
.then((value) => {
console.log('Resolved:', value);
})
.catch((error) => {
console.error('Rejected:', error.message);
});
在这个示例中,如果 isError
为 true
,Promise 将被拒绝,并触发 catch
方法中的错误处理逻辑。
通过这种方式,可以确保在发生错误时也能执行相应的操作,从而提高代码的健壮性和可维护性。
领取专属 10元无门槛券
手把手带您无忧上云