Как работает `Awaited<T>` и зачем он нужен?
- Рекурсивно разворачивает Promise:
Awaited<Promise<Promise<string>>>→string - Проверяет наличие метода
then(thenable-протокол) - Извлекает тип из
onfulfilledколбэка - Рекурсивно применяет себя для вложенных Promise
- Используется в типизации
async/awaitиPromise.all