인프런 커뮤니티 질문&답변

아리마님의 프로필 이미지

작성한 질문수

실전 리액트 프로그래밍

찾아야한다 실습 문의

23.01.14 16:58 작성

·

343

0

강사님 안녕하세요.

"찾아야한다" 실습 초기에서 AutoComplete 에 검색어를 입력하면 API 통신해서 결과 목록을 출력해주는 부분에서 문의사항이 있습니다.
API 서버가 동작하고 있을 때는 정상적으로 동작을 하는데요.
API 서버를 죽인 후, 테스트를 해보니 콘솔에 아래 화면처럼 Saga 관련 Tasks cancelled 에러가 발생하면서 이후부터는 검색어를 계속 입력해보아도 네트웍 요청을 전혀 하지는 않네요.
(마치 어플리케이션이 죽은 것처럼)

saga.JPG

API 서버가 죽어있어서 응답이 오지 않아도 요청은 계속하는게 맞는데 원인을 알 수 있을까요?

답변 1

0

이재승님의 프로필 이미지
이재승
지식공유자

2023. 01. 14. 23:48

안녕하세요
제보 감사합니다
callApi 함수에서 catch 를 구현하지 않아서 그렇습니다.
아래처럼 변경하시면 될거에요 (마지막에 catch 관련 코드만 추가했습니다)

export function callApi({ method = "get", url, params, data }) { return axios({ url, method, baseURL: API_HOST, params, data, withCredentials: true, }) .then((response) => { const { resultCode, resultMessage, totalCount } = response.data; if (resultCode < 0) { message.error(resultMessage); } return { isSuccess: resultCode === ResultCode.Success, data: response.data.data, resultCode, resultMessage, totalCount, }; }) .catch(() => { return { isSuccess: false, }; }); }