Логотип 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


Для чего нужны Async/await?

async/await — это синтаксис, который упрощает работу с промисами, делая асинхронный код более похожим на синхронный. Функция с ключевым словом async всегда возвращает промис, а await приостанавливает выполнение функции до получения результата промиса. Это делает код более читаемым и упрощает обработку ошибок.

Подробнее

Почему async/await вместо Promises?

async/await делает асинхронный код:

  1. Читаемым (похож на синхронный).

  2. Удобным для отладки (стек вызовов не «разрывается»).

  3. Лёгким в обработке ошибок (через try/catch).

Подробнее

Что возвращает async-функция?

Любая async-функция всегда возвращает Promise. Если функция возвращает обычное значение, оно автоматически оборачивается в Promise.resolve. Если внутри происходит throw, возвращается Promise.reject. await не меняет тип возвращаемого значения функции.

Подробнее

Чем async/await отличается от .then()?

async/await и .then() работают поверх Promise и дают одинаковые возможности. Разница в том, что async/await позволяет писать асинхронный код в синхронном стиле, улучшая читаемость. .then() использует цепочки колбэков и чаще приводит к вложенности. С точки зрения выполнения и производительности они эквивалентны.

Подробнее

Почему async/await требует возврата Promise из функции?

Ключевое слово async перед функцией гарантирует, что она всегда возвращает Promise. Это нужно для единообразия работы с асинхронным кодом. Даже если функция возвращает обычное значение, оно автоматически оборачивается в разрешённый Promise. Если функция возвращает Promise, он и будет результатом. Это позволяет использовать await внутри функции и строить цепочки асинхронных операций.
Подробнее

Что появилось после Promise?

Почему forEach не работает с async/await?

В чем разница между Promise, async/await и callback?

  • Рейтинг:

    5

  • Сложность:

    4

После Promise в JavaScript появился синтаксис async/await, представленный в стандарте ES2017 (ES8). Он позволяет писать асинхронный код, который выглядит и ведёт себя как синхронный, что значительно улучшает читаемость и упрощает обработку ошибок. Вместо цепочек .then() и .catch() вы используете ключевые слова async перед функцией и await перед вызовом Promise. Это не заменяет Promise, а является надстройкой над ними, предоставляя более удобный синтаксический сахар.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    3

Метод forEach не предназначен для работы с асинхронными функциями, потому что он не ожидает разрешения промисов, возвращаемых колбэком. Он просто запускает каждую асинхронную операцию и сразу переходит к следующей, не дожидаясь её завершения. В результате операции выполняются параллельно (или в случайном порядке), а не последовательно, и нельзя корректно обработать результаты или ошибки. Для последовательного выполнения асинхронных операций следует использовать обычный цикл for...of с await.
Подробнее
  • Рейтинг:

    5

  • Сложность:

    4

Callback — это функция, передаваемая в другую функцию для вызова после завершения асинхронной операции, что может привести к "аду колбэков". Promise — это объект, представляющий будущий результат операции, позволяющий цепочку вызовов .then() и .catch() для лучшего управления потоком и ошибками. Async/await — это синтаксический сахар над Promise, позволяющий писать асинхронный код в синхронном стиле с использованием ключевых слов async и await, что делает код более читаемым и простым для отладки.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    4

  • Рейтинг:

    2

  • Сложность:

    6

  • Рейтинг:

    5

  • Сложность:

    4

  • Рейтинг:

    5

  • Сложность:

    5

  • Рейтинг:

    4

  • Сложность:

    3