[英]How to catch javascript errors in async functions
如何在异步函数中捕获简单的 js 错误? 在以下代码中,函数“errorfkt”不可用。 如果我删除函数“testfkt”前面的“async”关键字,我会在控制台中看到引用错误。 使用“async”关键字看不到错误。
document.querySelector('#btnTest').addEventListener('click', testfkt)
async function testfkt() {
errorfkt();
console.log('test');
}
https://codepen.io/Jochen99/pen/NWrEWgb?editors=1111
在开发过程中,我经常在异步函数中看到非常明显的错误,因为浏览器不会抱怨。 有没有办法处理这个问题?
问候,乔臣
Promise 中的异常在catch
方法中可用。
addEventListener('click', (event) => {
testfkt(event).catch(error => {
console.log(error);
});
})
您还可以将try/catch
与async
/ await
语法一起使用:
addEventListener('click', async (event) => {
try {
await testfkt(event)
} catch(error) {
console.log(error);
}
})
您可以在函数中使用 try catch 块
async function testfkt() {
try {
await errorfkt();
console.log('test');
} catch(e) {
console.log(e);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.