在JavaScript中,Promise是一种用于处理异步操作的对象。它有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。当Promise被拒绝(rejected)时,你需要处理错误。你可以使用.catch()
方法或者.then()
方法的第二个参数来处理错误。
以下是使用.catch()
方法处理错误的示例:
const promise = new Promise((resolve, reject) => {
// 异步操作
setTimeout(() => {
reject('出错了');
}, 1000);
});
promise
.then(result => {
console.log(result);
})
.catch(error => {
console.error('捕获到错误:', error);
});
在这个例子中,我们创建了一个新的Promise,它在1秒后将自身设置为拒绝状态。然后我们使用.then()
方法处理成功的结果,使用.catch()
方法处理错误。
你也可以在.then()
方法的第二个参数中处理错误:
const promise = new Promise((resolve, reject) => {
// 异步操作
setTimeout(() => {
resolve('成功');
}, 1000);
});
promise
.then(
result => {
console.log(result);
},
error => {
console.error('捕获到错误:', error);
}
)
.catch(error => {
console.error('捕获到错误:', error);
});
在这个例子中,我们在.then()
方法中提供了两个参数:第一个参数处理成功的结果,第二个参数处理错误。.catch()
方法仍然可以用于捕获任何未被.then()
方法处理的错误。