Встречается на собеседованиях • сегодня

Что случится, если очередь микротасков станет бесконечной

При бесконечной очереди микротасков (например, из-за рекурсивного вызова queueMicrotask() или Promise.resolve().then()) браузер не сможет перейти к макротаскам (рендеринг, обработка событий). Это приведёт к зависанию интерфейса, так как цикл событий заблокируется.

Пример опасного кода:

javascript
function infiniteMicrotasks() {
  Promise.resolve().then(infiniteMicrotasks);
}
infiniteMicrotasks(); // UI перестанет отвечать

Как избежать:

  • Разбивать тяжёлые задачи на части с помощью setTimeout/requestIdleCallback
  • Контролировать рекурсивные вызовы
  • Использовать Web Workers для фоновых вычислений
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы