Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: for-await-of, асинхронность, промисы

Как работает асинхронная итерация в ES6+ с использованием for-await-of?

Этот вопрос проверяет понимание работы асинхронных итераторов и их использование для обработки асинхронных потоков данных в ES6+.

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

Асинхронная итерация с использованием for-await-of позволяет работать с асинхронными итераторами, такими как асинхронные генераторы или промисы, которые возвращают данные постепенно. Оператор for-await-of ждет разрешения каждого промиса перед переходом к следующей итерации. Это удобно для обработки потоков данных или последовательных асинхронных операций.

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

Асинхронная итерация была введена в ES2018 и позволяет перебирать коллекции данных, которые поступают асинхронно. Обычно используется с асинхронными генераторами, которые возвращают промисы. В цикле for-await-of каждый промис, возвращаемый итератором, разрешается перед тем, как код переходит к следующему значению.

Пример использования:

async function* asyncGenerator() {
	yield new Promise(resolve => setTimeout(() => resolve("Data 1"), 1000));  
	yield new Promise(resolve => setTimeout(() => resolve("Data 2"), 1000)); 
} 
(async () => {
	for await (let value of asyncGenerator()) {
		console.log(value); // Выведет "Data 1" и "Data 2" с задержкой  
	} 
})();

for-await-of блокирует каждую итерацию до тех пор, пока текущий промис не разрешится, что делает его полезным для работы с потоками данных или с последовательными асинхронными задачами. Это упрощает обработку данных, которые поступают по мере их готовности, например, данные от API или чтение файлов.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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

Уровень

  • Рейтинг:

    1

  • Сложность:

    8

Навыки

  • JavaScript

    JavaScript

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

#for-await-of

#асинхронность

#промисы

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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