Метод Window: queueMicrotask()
Метод queueMicrotask() интерфейса Window помещает микрозадачу в очередь, чтобы она была выполнена в безопасное время до возвращения управления в цикл событий браузера.
Микрозадача — это короткая функция, которая будет выполнена после завершения текущей задачи и отсутствия другой ожидающей кода, перед возвращением управления в цикл событий браузера.
Это позволяет вашему коду работать без вмешательства в любой другой, потенциально более приоритетный, ожидающий код, но до того, как браузер снова получит контроль над контекстом выполнения, потенциально зависящий от работы, которую вам нужно завершить. Вы можете узнать больше о том, как использовать микрозадачи и почему вы можете выбрать это сделать, в нашем руководстве по микрозадачам.
Важность микрозадач заключается в возможности выполнения задач асинхронно, но в определенном порядке. Подробнее см. Использование микрозадач в JavaScript с queueMicrotask().
Микрозадачи особенно полезны для библиотек и фреймворков, которым требуется выполнить окончательную очистку или другие задачи, выполняемые непосредственно перед рендерингом.
Синтаксис
queueMicrotask(callback)
Параметры
Возвращаемое значение
None (undefined).
Примеры
queueMicrotask(() => {
// function contents here
});
Взято из спецификации queueMicrotask:
MyElement.prototype.loadData = function (url) {
if (this._cache[url]) {
queueMicrotask(() => {
this._setData(this._cache[url]);
this.dispatchEvent(new Event("load"));
});
} else {
fetch(url)
.then((res) => res.arrayBuffer())
.then((data) => {
this._cache[url] = data;
this._setData(data);
this.dispatchEvent(new Event("load"));
});
}
};
Спецификации
| Спецификация |
|---|
| HTML # microtask-queuing |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
queueMicrotask |
71 | 79 | 69 | 58 | 12.1 | 71 | 79 | 50 | 12.2 | 10.0 | 71 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/queueMicrotask