WorkerGlobalScope: метод queueMicrotask()
Примечание: Эта функция доступна только в Web Workers.
Метод queueMicrotask() интерфейса WorkerGlobalScope добавляет микрозадачу в очередь для выполнения в безопасное время до возвращения управления циклу событий браузера.
Микрозадача — это короткая функция, которая будет выполнена после завершения текущей задачи и отсутствия другой ожидающей кода до возвращения управления циклу событий браузера.
Это позволяет вашему коду выполняться без вмешательства в другой, потенциально более приоритетный, код, который ожидает выполнения, но до того, как браузер вновь получит управление контекстом выполнения, потенциально зависящего от завершения необходимой вам работы. Вы можете узнать больше о том, как использовать микрозадачи и почему вы можете выбрать их использование, в нашем руководстве по микрозадачам.
Важность микрозадач заключается в их способности выполнять задачи асинхронно, но в определенном порядке. Подробнее см. Использование микрозадач в 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 для 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/WorkerGlobalScope/queueMicrotask