약속을 반환하는 비동기 window.fetch
호출을 사용하고 있습니다. 결과를 해결하기 위해 나는 그 약속의 일부인 then()
에 내 처리기를 넣었다.비동기 함수를 호출 할 때 오류 처리를 추가 할 위치는 어디입니까?
async await
에 대한 문서는 오류를 잡으려고 try catch
을 사용하는 것이 좋습니다. 그러나 약속은 reject
및뿐만 아니라 catch()
기능 ... 그것은 나에게 분명하지 않다
을 가지고 내가 fetch
호출에서 실패한 로딩 시도를 잡기 위해 사용해야하는이 세 가지있다. 또한 거부 된 약속과 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!")
}
}
'catch in await' 그게 뭐야? –
내가 잘못하지 않았다면'.then()'다음에'.catch()'를 사용할 수 있습니다. – Phiter
나는 이것이 좋은 질문이라고 생각하지만, 아마도 두 가지 이유로 downvoted을 얻고있을 것이다. 1) 당신은 "무엇이 최고인가"를 묻습니다. 그래서 사람들은 이것을 근거로 의견을 표합니다. 2) 여러 가지 질문을하고 있습니다. 이런 일들을 피하기 위해 말씨를 약간 수정 해보십시오. –