Встречается на собеседованиях • сегодня
Почему генераторы позволяют писать асинхронный код
Генераторы (функции с function*) позволяют писать асинхронный код в синхронном стиле благодаря возможности приостанавливать и возобновлять выполнение через yield. Это особенно полезно с yield промисов, где можно дождаться их разрешения перед продолжением.
Пример с async/await-подобным поведением:
javascript
function* asyncGenerator() {
const data = yield fetch('https://api.example.com/data');
console.log(data); // обработанные данные
}
const gen = asyncGenerator();
const promise = gen.next().value;
promise.then(response => response.json())
.then(data => gen.next(data));
text
Ключевые преимущества:
1. Пауза выполнения без блокировки основного потока
2. Читаемость кода (похоже на синхронный стиль)
3. Возможность ручного управления потоком выполнения
Хотя сегодня чаще используют async/await, генераторы были важным шагом в эволюции асинхронного JS и до сих пор применяются в Redux-Saga и подобных библиотеках.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы