TypeScript 类型体操 —— Awaited

77 阅读1分钟

题目地址

实现

type PromiseType<T extends Promise<unknown>> = T extends Promise<infer U> ? U : never;

const examplePromise = new Promise<ExampleType>(...);

type ExampleTypeFromPromise = PromiseType<typeof examplePromise>;
// ExampleTypeFromPromise 的类型是 ExampleType