3.10 Promise, Awaited 타입 분석하기
이 절에서는 Promise와 Awaited 타입을 분석하면서 다음 코드의 타입 추론이 어떻게 이루어지는지 확인해보겠습니다.
(async () => {
const str = await Promise.resolve('promise');
// const str: string
const all = await Promise.all([
// const all: [string, number, boolean]
'string',
Promise.resolve(123),
Promise.resolve(Promise.resolve(true)),
]);
const chaining = await Promise.resolve('hi')
// const chaining: boolean | void
.then(() => {
return 123;
})
.then(() => {
return true;
})
.catch((err) => {
console.error(err);
});
})();