비동기 타입

Promise 타입 추적

Promise<T>가 어디서 만들어지고 await 뒤에 어떤 T가 남는지 보면 비동기 흐름의 계약이 선명해집니다.

생성

미래 값을 감싸기

비동기 함수의 반환은 즉시 값이 아니라 나중에 풀릴 Promise 계약입니다.

Promise<User>
await

감싼 타입 풀기

await 이후 변수는 Promise가 아니라 내부 값 타입으로 좁혀집니다.

const user: User
병렬

여러 결과 묶기

Promise.all은 입력 배열의 성공 타입을 결과 튜플이나 배열로 모읍니다.

실패

오류 값 좁히기

catch에서는 오류가 어떤 모양인지 보장되지 않으므로 guard로 다루는 편이 안전합니다.