비동기 결과는 loading, success, empty, error 상태로 매핑한다
요청 시작과 완료, 빈 결과, 실패를 하나의 state로 섞지 않아야 화면 분기가 예측 가능해진다.
상태
화면
전이 조건
idle
초기 안내
사용자 요청
loading
대기 UI
resolve/reject
success
데이터 렌더
새 요청 가능
empty/error
빈 결과/오류
재검색 또는 retry