面试题答案
一键面试在JavaScript中,使用Promise进行异步操作时,捕获和处理异步过程中产生错误的方式主要有以下两种:
.catch()
方法 通过链式调用.catch()
方法来捕获Promise链中任何一个环节抛出的错误。
function asyncFunction() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject(new Error('异步操作出错'));
}, 1000);
});
}
asyncFunction()
.then(result => console.log(result))
.catch(error => console.error('捕获到错误:', error.message));
try...catch
结合async/await
在async
函数内部使用try...catch
块来捕获await
表达式可能抛出的错误。
async function asyncFunction() {
try {
await new Promise((resolve, reject) => {
setTimeout(() => {
reject(new Error('异步操作出错'));
}, 1000);
});
} catch (error) {
console.error('捕获到错误:', error.message);
}
}
asyncFunction();