TypeScript·
189 - Awaited
- #Type Challenges
- #TypeScript
질문
Promise와 같은 타입에 감싸인 타입이 있을 때, 안에 감싸인 타입이 무엇인지 어떻게 알 수 있을까요?
예시: 들어 Promise<ExampleType>이 있을 때, ExampleType을 어떻게 얻을 수 있을까요?
1type ExampleType = Promise<string>23type Result = MyAwaited<ExampleType> // string45
선행 지식
-
Promise<T>비동기 연산의 결과값으로 나중에 T를 반환하는 객체 타입. 실제 자바스크립트의 비동기 객체 타입이다.
-
PromiseLike<T>1interface PromiseLike<T> {2then(3onfulfilled?: (value: T) => any,4onrejected?: (reason: any) => any5): any6}실제
Promise객체는 아니지만,then메서드를 가지고 있고,then의 콜백이T를 받는다면PromiseLike으로 취급한다. 타입으로만 존재하지만 이 타입을 사용한다고 해서 실제 런타임에서Promise의 동작을 보장하진 않는다.