面试题答案
一键面试在JavaScript中,使用Promise时基本的错误处理方式有以下两种:
.catch()
方法
.catch()
方法用于捕获Promise链中任何一个被拒绝的Promise。它会捕获从 then()
回调函数中抛出的错误,或者Promise被拒绝时传递的理由。
function asyncFunction() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject('操作失败');
}, 1000);
});
}
asyncFunction()
.then(result => console.log(result))
.catch(error => console.error('捕获到错误:', error));
try...catch
结合 async/await
在 async
函数内部,可以使用 try...catch
块来捕获 await
操作的Promise被拒绝时的错误。
async function asyncFunction() {
try {
const result = await new Promise((resolve, reject) => {
setTimeout(() => {
reject('操作失败');
}, 1000);
});
console.log(result);
} catch (error) {
console.error('捕获到错误:', error);
}
}
asyncFunction();