我正在使用異步window.fetch
呼叫,它返回一個承諾。爲了解決這個問題,我把我的處理程序放在了這個承諾的then()
部分。調用異步函數時在哪裏添加錯誤處理?
async await
的文檔建議使用try catch
來捕獲錯誤。但承諾有reject
和catch()
功能,以及...
這不是很清楚,我這三個我都用趕上從fetch
呼叫失敗裝載的嘗試。我也沒有看到被拒絕的Promise和fetch(url).then().catch()
捕獲的失敗獲取之間的區別。
我的唯一要求是fetch
調用位於自己的函數中,我可以在任何地方調用它。
// CALLING THE LOADDATA FUNCTION
loadData().then(res => {
console.log("success")
}, err => {
console.log("rejected!")
}).catch(e => {
console.log("error is " + e);
})
// ASYNC LOADDATA
async function loadData() {
try{
const response = await fetch('./data.json');
return await response.json();
}
catch(e) {
console.log("nope!")
}
}
'趕上等待'應該是什麼? –
如果我沒有錯,你可以在.then()之後使用'.catch()'。 – Phiter
我認爲這是一個很好的問題,但您可能因爲幾個原因而陷入低報。 1)你問「什麼是最好的」,所以人們會將此標記爲基於意見。 2)你在問多個問題。你可以嘗試改進措辭來避免這些事情。 –