[英]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.