在JavaScript中,Promise是一種用于處理異步操作的對(duì)象。它有三種狀態(tài):pending(進(jìn)行中)、fulfilled(已成功)和rejected(已失?。.?dāng)Promise被拒絕(rejected)時(shí),你需要處理錯(cuò)誤。你可以使用.catch()
方法或者.then()
方法的第二個(gè)參數(shù)來(lái)處理錯(cuò)誤。
以下是使用.catch()
方法處理錯(cuò)誤的示例:
const promise = new Promise((resolve, reject) => {
// 異步操作
setTimeout(() => {
reject('出錯(cuò)了');
}, 1000);
});
promise
.then(result => {
console.log(result);
})
.catch(error => {
console.error('捕獲到錯(cuò)誤:', error);
});
在這個(gè)例子中,我們創(chuàng)建了一個(gè)新的Promise,它在1秒后將自身設(shè)置為拒絕狀態(tài)。然后我們使用.then()
方法處理成功的結(jié)果,使用.catch()
方法處理錯(cuò)誤。
你也可以在.then()
方法的第二個(gè)參數(shù)中處理錯(cuò)誤:
const promise = new Promise((resolve, reject) => {
// 異步操作
setTimeout(() => {
resolve('成功');
}, 1000);
});
promise
.then(
result => {
console.log(result);
},
error => {
console.error('捕獲到錯(cuò)誤:', error);
}
)
.catch(error => {
console.error('捕獲到錯(cuò)誤:', error);
});
在這個(gè)例子中,我們?cè)?code>.then()方法中提供了兩個(gè)參數(shù):第一個(gè)參數(shù)處理成功的結(jié)果,第二個(gè)參數(shù)處理錯(cuò)誤。.catch()
方法仍然可以用于捕獲任何未被.then()
方法處理的錯(cuò)誤。