async/await rejection 처리 경로
async 함수는 항상 Promise를 반환하고 await는 settled 될 때까지 다음 줄을 미루며 rejected 상태는 try/catch로 잡는다.
| 구간 | 동작 | 오류 경로 | 확인할 것 |
|---|---|---|---|
| async function | 반환값을 Promise로 감쌈 | throw는 rejected로 변환 | 호출자가 await/then으로 받는가 |
| await | fulfilled 값을 꺼내 다음 줄 진행 | rejected면 throw처럼 동작 | try/catch 범위가 맞는가 |
| try/catch | await 오류를 한 곳에서 처리 | catch에서 복구 또는 전달 | 오류를 삼키지 않는가 |
| finally | 성공/실패 후 공통 정리 | loading 상태 해제 | 중복 정리 코드 없음 |
| parallel await | 여러 작업을 먼저 시작 | all/allSettled로 결과 처리 | 순차 await로 느려지지 않는가 |
async/await은 비동기를 동기처럼 보이게 하지만 오류는 여전히 Promise rejection 경로로 흐른다.