Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: mutationobserver, dom

Что такое MutationObserver и queueMicrotask?

Вопрос проверяет понимание инструментов для отслеживания изменений DOM и управления очередью microtask.

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

MutationObserver позволяет отслеживать изменения в DOM без постоянных проверок. Он реагирует на добавление, удаление или изменение узлов. queueMicrotask позволяет вручную добавить задачу в очередь microtask. Оба механизма тесно связаны с event loop и выполняются до macrotask.

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

Работа с DOM и асинхронностью часто требует точного контроля момента выполнения кода.

MutationObserver

MutationObserver — это API для наблюдения за изменениями в DOM-дереве.

Что он умеет отслеживать

  1. Добавление и удаление узлов

  2. Изменение атрибутов

  3. Изменение текстового содержимого

Пример

const observer = new MutationObserver((mutations) => {
  console.log(mutations);
});

observer.observe(document.body, {
  childList: true,
  subtree: true,
});

Колбэк будет вызван асинхронно после изменений DOM.

queueMicrotask

queueMicrotask — это функция для добавления задачи в очередь microtask.

Особенности

  1. Выполняется после текущего синхронного кода

  2. Выполняется до setTimeout

  3. Аналогична Promise.then, но без создания Promise

Пример

queueMicrotask(() => {
  console.log("microtask");
});

Связь с event loop

  1. DOM-изменения фиксируются

  2. MutationObserver добавляет задачу в microtask queue

  3. Event loop выполняет microtask до macrotask

Вывод

MutationObserver подходит для реакций на изменения DOM, а queueMicrotask — для точного управления порядком выполнения асинхронного кода.

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

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

#mutationobserver

#dom

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