我正在使用异步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)你在问多个问题。你可以尝试改进措辞来避免这些事情。 –