queueMicrotask
Ставит функцию в очередь микрозадач — она выполнится раньше любого таймера.
Доступно с: Web API
Синтаксис
queueMicrotask(callback)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| callback | Function | Функция, которая выполнится сразу после текущего кода. |
Возвращаемое значение
undefinedНичего не возвращает.
Примеры
Порядок выполнения:
setTimeout(() => console.log('timeout'), 0);
queueMicrotask(() => console.log('microtask'));
Promise.resolve().then(() => console.log('promise'));
console.log('sync');Результат:
sync
microtask
promise
timeoutПримечания
Сначала выполняется весь синхронный код, затем все микрозадачи (обработчики промисов и queueMicrotask) в порядке добавления, и только потом таймеры.
См. также
- setTimeout — Выполняет функцию один раз через заданное время.
- Promise.prototype.then — Задаёт, что сделать с результатом промиса.
В учебнике
- Цикл событий — Как JavaScript выполняет код: синхронный и асинхронный код, очередь задач, микрозадачи и цикл событий.