Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: async, await

Что происходит, если await используется внутри условных конструкций?

Вопрос нужен, чтобы оценить, понимает ли кандидат, как await влияет на выполнение условий и порядок исполнения кода.

Короткий ответ

await внутри условия работает так же, как и в любом другом месте. Выполнение функции приостанавливается до завершения Promise. Условие вычисляется только после получения результата. Это может влиять на производительность и читаемость кода.

Длинный ответ

await не меняет логику условных конструкций, но влияет на порядок выполнения.

Как работает await в условии

Когда await используется:

  • выполнение текущей async-функции приостанавливается

  • event loop продолжает работу

  • после завершения Promise код продолжается

if (await isAllowed()) {
  // выполнится только после завершения Promise
}

Практические последствия

  1. Условие становится асинхронным

    • результат зависит от Promise

    • возможна задержка выполнения

  2. Последовательное выполнение

    • несколько await в условиях выполняются по очереди

  3. Потенциальные проблемы

    • лишние ожидания

    • сложность чтения логики

Когда это оправдано

  • проверка прав доступа

  • загрузка конфигурации

  • валидация перед действием

Краткий вывод

await внутри условий безопасен и предсказуем, но делает поток выполнения асинхронным. Его стоит использовать осознанно, чтобы не усложнять и не замедлять код.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#async

#await

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