Fetch는 요청·응답·실패를 분리해 읽는다
fetch는 네트워크 실패만 reject하고 HTTP 404/500은 응답 객체로 돌려준다. 그래서 ok/status 검사가 별도 단계가 된다.
| 구간 | 확인할 것 | 좋은 처리 | 놓치기 쉬운 점 |
|---|---|---|---|
| request | method, headers, body, credentials | 서버 계약을 코드에 드러냄 | GET body나 Content-Type 누락 |
| response | ok, status, headers | HTTP 오류를 직접 분기 | 404가 catch로 간다고 착각 |
| body | json/text/blob 파싱 | Content-Type에 맞춰 읽음 | 파싱 오류 처리 누락 |
| lifecycle | abort, retry, loading | UI 수명과 요청 수명 연결 | 언마운트 뒤 state 갱신 |
Fetch 품질은 데이터를 가져오는 줄보다 실패, 취소, 상태 표시를 어떻게 나누는지에서 드러난다.