在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()
方法處理的錯誤。