WEB · FETCH
Fetch 요청 취소 플로우
AbortController의 signal을 fetch에 연결하면 화면 전환이나 중복 요청 시점에 abort를 호출해 오래된 응답 처리를 막을 수 있습니다.
취소 흐름
abort
controller
AbortController 생성
signal
fetch 옵션에 signal 전달
abort
unmount 또는 새 요청에서 취소
catch
AbortError는 조용히 분기 처리
controller
→
signal
→
abort
→
catch
주의 지점
check
중복 요청
검색어가 바뀌면 이전 요청을 먼저 취소합니다.
에러 분기
AbortError와 진짜 네트워크 오류를 구분합니다.
정리
cleanup 함수에서 abort를 호출하면 컴포넌트 언마운트 후 갱신을 막습니다.
UX
취소는 실패 메시지보다 로딩 상태 정리에 가깝게 처리합니다.