Hack Frontend Community

Как добавить задачу в очередь микротасок с помощью queueMicrotask

Что такое queueMicrotask

queueMicrotask() — это встроенная функция JavaScript, которая добавляет задачу в очередь микрозадач (microtask queue).

Микрозадачи выполняются сразу после завершения текущего стека вызовов и до следующей макрозадачи (например, setTimeout, setInterval, обработчик события).

Синтаксис

queueMicrotask(() => {
  // Ваш код
});

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

console.log("Start");

setTimeout(() => {
  console.log("Timeout");
}, 0);

queueMicrotask(() => {
  console.log("Microtask Hack Frontend");
});

console.log("End");

Что выведется?

Start
End
Microtask Hack Frontend
Timeout

queueMicrotask всегда выполняется раньше setTimeout, даже если у таймера задержка 0.

Где используется queueMicrotask

  • Внутри библиотек и фреймворков для оптимизации очередей (React, Vue, Zone.js)
  • Для обновления состояния после текущего вызова, но до рендера
  • Для предсказуемого порядка выполнения

Совет:

Используйте queueMicrotask, если хотите выполнить задачу асинхронно, но сразу после текущей операции — быстрее, чем setTimeout(...).

Вывод

  • queueMicrotask() — способ добавить задачу в микротаски, которая выполнится после текущего стека, но до макрозадач.
  • Это быстрый и надёжный способ отложить выполнение кода, не дожидаясь следующего рендера или события.
  • Используется для точного контроля порядка выполнения в асинхронных операциях.