Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Как вернуть результат из функции, внутри которой создаётся и разрешается Promise? Какой паттерн для этого используется?

Вопрос проверяет понимание того, как вернуть результат асинхронной операции из функции, использующей Promise, и знание паттерна async/await.

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

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

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

Возврат результата из функции с Promise

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

Пример с возвратом Promise

function fetchData() {
  return new Promise((resolve) => {
    setTimeout(() => resolve('данные'), 1000);
  });
}

fetchData().then(data => console.log(data)); // 'данные' через 1 сек

Паттерн async/await

Современный подход — использовать async/await. Функция объявляется с async, а внутри await приостанавливает выполнение до разрешения Promise. Это делает код более читаемым.

async function getData() {
  const result = await fetchData();
  return result;
}

getData().then(data => console.log(data));

Важно: async функция всегда возвращает Promise, даже если явно вернуть значение. Ошибки обрабатываются через try/catch.

Вывод

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

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

#async

#await

#Promise

#asynchronous

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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