Как добавить задачу в очередь микротасок с помощью 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()— способ добавить задачу в микротаски, которая выполнится после текущего стека, но до макрозадач.- Это быстрый и надёжный способ отложить выполнение кода, не дожидаясь следующего рендера или события.
- Используется для точного контроля порядка выполнения в асинхронных операциях.