async timeline

비동기 요청 상태

callback, Promise, async await는 표현 방식은 달라도 대기 중인 작업과 결과 처리, 에러 경로를 분리해야 한다는 점은 같습니다.

callback

함수를 인자로 넘겨 나중에 실행하지만 중첩이 깊어지면 흐름 추적이 어렵습니다.

Promise

pending, fulfilled, rejected 상태로 비동기 결과를 체인으로 연결합니다.

async await

Promise를 동기 코드처럼 읽게 하지만 try catch로 실패 경로를 명시해야 합니다.

start

요청 시작 시 loading 상태를 먼저 켭니다.

success

성공 데이터는 필요한 형태로 저장합니다.

error

catch에서 사용자에게 보일 메시지를 분리합니다.

finally

성공과 실패 모두에서 loading을 끕니다.