Напиши тип Senior Условные и mapped-типы обновлено

infer у промиса

Вопрос

Достань тип значения промиса через infer (без Awaited).

type UnwrapPromise<T> = /* ? */;

Попробуйте сами

Напишите тип, как написали бы в коде.

Показать ответ и разбор

Коротко

Правильный тип: T extends Promise<infer U> ? U : never. Ответ Почему так Так устроен Awaited внутри (плюс рекурсия для вложенных промисов и thenable).

Правильный тип

T extends Promise<infer U> ? U : never

Разбор

Ответ

T extends Promise<infer U> ? U : never

Почему так

Так устроен Awaited внутри (плюс рекурсия для вложенных промисов и thenable).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.