
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
javascript 문법 종합반 4주차 숙제로 아래 코드를 async/await로 변환하는 문제가 주어졌습니다.
class HttpError extends Error {
constructor(response) {
super(`${response.status} for ${response.url}`);
this.name = 'HttpError';
this.response = response;
}
}
function loadJson(url) {
return fetch(url)
.then(response => {
if (response.status == 200) {
return response.json();
} else {
throw new HttpError(response);
}
})
}
function narutoIsNotOtaku() {
let title = prompt("애니메이션 제목을 입력하세요.", "naruto");
return loadJson(`https://animechan.vercel.app/api/random/anime?title=${title}`)
.then(res => {
alert(`${res.character}: ${res.quote}.`);
return res;
})
.catch(err => {
if (err instanceof HttpError && err.response.status == 404) {
alert("일치하는 애니메이션이 없습니다. 일반인이시면 naruto, onepiece 정도나 입력해주세요!");
return narutoIsNotOtaku();
} else {
throw err;
}
});
}
narutoIsNotOtaku();
위 코드를 테스트하기 위해 html 코드 안에 위의 코드를 script 파일을 넣어 테스트하려고 보니 402에러가 발생했습니다.
코드를 잘 못 작성해서 그런가 싶어서 크롬 브라우저에 api 실행하는 확장 프로그램을 추가하여 api 동작이 잘 되는지도 확인해보았습니다. 여기서도 402 에러가 발생하는데


제 테스트에 문제가 있던건지 몰라서 문의드립니다.
