> Нужно ли добавлять Promise к выходному типу асинхронной функции в TypeScript (JavaScript)

Уровень: senior · Роль: frontend · Язык: JavaScript · Категория: Технические вопросы

Компании: TrendTech

Стек: Node.js, JavaScript, TypeScript

> Пример ответа

Да, добавлять Promise к выходному типу асинхронной функции в TypeScript необходимо, если вы явно указываете возвращаемый тип. Асинхронная функция всегда возвращает Promise, даже если внутри нет await или явного возврата промиса. TypeScript автоматически оборачивает результат в Promise, но для читаемости и строгости типов лучше указывать это явно.

Пример:

TYPESCRIPT
// Плохо (неявный тип, может сбивать с толку)
async function fetchData() {
return "data";
}
// Хорошо (явный тип)
async function fetchData(): Promise<string> {
return "data";
}

Если не указать Promise, TypeScript всё равно выведет тип как Promise<string>, но явное объявление:

  • Улучшает документацию кода.

  • Помогает избежать ошибок при изменении функции (например, если случайно вернёте не промис).

  • Соответствует лучшим практикам TypeScript.

Исключение - когда тип выводится автоматически и не требуется явной аннотации (например, в простых колбэках). Но в публичных API и сложных функциях всегда добавляйте Promise.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью