WEB · ASYNC

async/await rejection 처리 경로

async 함수는 항상 Promise를 반환하고, await는 settled 될 때까지 다음 줄을 미루며 rejected 상태는 try/catch로 잡을 수 있습니다.

Promise settlement path

promise
async fnPromise를 반환하는 함수
awaitfulfilled 값은 변수에 바인딩
rejectedthrow처럼 catch로 점프
finallyloading, lock, spinner 해제
async fnawaitrejectedfinally

await review points

error path
resolved payloadasync 함수의 return 값은 Promise fulfilled 값으로 감싸집니다.
catch 경계네트워크 실패, JSON 파싱 throw, 수동 throw를 같은 catch에서 분기합니다.
Promise.all독립 요청은 순차 await 대신 Promise.all, 부분 실패는 allSettled를 고려합니다.
finally releaseloading 해제, AbortController abort, 버튼 잠금 해제를 finally에 둡니다.