Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Для чего используется await внутри асинхронной функции?

Проверяет понимание механизма ожидания выполнения промиса в асинхронных функциях JavaScript.

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

await используется внутри асинхронной функции для приостановки её выполнения до тех пор, пока Promise не завершится (resolve или reject). Это позволяет писать асинхронный код в синхронном стиле, без цепочек .then(). После завершения Promise выполнение функции продолжается с результатом.

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

Что такое await и зачем он нужен?

Ключевое слово await используется исключительно внутри функций, объявленных с ключевым словом async. Его основная задача — приостановить выполнение асинхронной функции до тех пор, пока переданный Promise не будет разрешён (fulfilled) или отклонён (rejected). После этого выполнение функции возобновляется, и результатом выражения await становится значение, с которым был разрешён Promise.

Без await асинхронный код часто строился на цепочках вызовов .then(), что могло приводить к так называемому "аду колбэков" и менее читаемому коду. await позволяет писать асинхронные операции так, как будто они синхронные, что значительно улучшает читаемость и поддержку кода.

Как это работает на практике?

Рассмотрим простой пример: получение данных с сервера. Без await код выглядел бы так:

function fetchData() {
  return fetch('https://api.example.com/data')
    .then(response => response.json())
    .then(data => console.log(data));
}

С использованием async/await тот же код становится более линейным и понятным:

async function fetchData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  console.log(data);
}

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

Обработка ошибок

Для обработки ошибок при использовании await применяется конструкция try...catch, что делает код ещё более похожим на синхронный:

async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    if (!response.ok) throw new Error('Network response was not ok');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Fetch error:', error);
  }
}

Вывод

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

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

#async

#await

#promise

#asynchronous

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию