Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Можно ли выбросить ошибку внутри then и как она будет обработана

Как получить тип store в TypeScript (например, через ReturnType)?

Что возвращает async функция, если внутри нее нет return?

Как ведет себя return внутри finally?

  • Рейтинг:

    5

  • Сложность:

    7

Да, внутри then можно выбросить ошибку с помощью throw. Такая ошибка автоматически превращает Promise в rejected. Она будет поймана ближайшим catch ниже по цепочке. По сути, throw внутри then эквивалентен return Promise.reject(error).

Подробнее
  • Рейтинг:

    5

  • Сложность:

    6

Тип store можно получить, взяв тип возвращаемого значения функции его создания. Для этого используется ReturnType. Такой подход избавляет от ручного дублирования типов. Он автоматически подстраивается под изменения в реализации. Это повышает надёжность типизации и снижает количество ошибок.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    2

Async функция всегда возвращает Promise. Если внутри async функции нет оператора return, она неявно возвращает Promise, который разрешится (resolve) со значением undefined. Это аналогично обычной функции, которая без return возвращает undefined, но обёрнутому в Promise. Например, async function foo() {} вернёт Promise, который выполнится как Promise.
Подробнее
  • Рейтинг:

    3

  • Сложность:

    5

Если в блоке finally есть оператор return, он переопределит результат, возвращаемый из блока try или catch. Это означает, что значение, возвращаемое из try или catch, будет проигнорировано, и функция вернет значение из finally. Такое поведение может быть неочевидным и часто считается антипаттерном, так как скрывает исходный результат выполнения или ошибку.
Подробнее