Планировщик задач
Ограниченная доступность
Эта функция не относится к базовому уровню, поскольку она не работает во всех распространённых браузерах.
Примечание: Эта функция доступна в Потоках Web Workers.
Интерфейс Scheduler API планирования задач с приоритетами предоставляет методы для планирования задач с приоритетами.
К объекту Scheduler можно получить доступ из глобального объекта с помощью Window.scheduler или WorkerGlobalScope.scheduler внутри потока.
Свойства экземпляра
Нет.
Методы экземпляра
Scheduler.postTask()-
Добавляет задачу в планировщик как обратный вызов, необязательно задавая приоритет, задержку и/или сигнал для прерывания задачи.
-
Scheduler.yield()Экспериментальный -
Уступает управление главным потоком браузеру, возвращая промис, который разрешается для продолжения выполнения с того места, где оно остановилось.
Примеры
Если функция определена, экземпляр этого объекта возвращается свойством globalThis как в потоках, так и в главном потоке.
Ниже приведен пример простой задачи, которая разрешается со значением 'Task executing'. Это значение регистрируется при успешном выполнении. Код также демонстрирует блок catch, который необходим в более сложном коде для обработки случаев прерывания задачи или возникновения ошибки.
if ("scheduler" in this) {
// Post task with default priority: 'user-visible' (no other options)
// When the task resolves, Promise.then() logs the result.
scheduler
.postTask(() => "Task executing")
.then((taskResult) => console.log(`${taskResult}`)) // Log result
.catch((error) => console.error(`Error: ${error}`)); // Log errors
}
Для более подробных примеров кода см. API планирования задач с приоритетами > Примеры.
Спецификации
| Спецификация |
|---|
| Планирование задач с приоритетами # scheduler |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Scheduler |
94 | 94 | 101 | 80 | Нет | 94 | Нет | 66 | Нет | 17.0 | 94 |
postTask |
94 | 94 | 101 | 80 | Нет | 94 | Нет | 66 | Нет | 17.0 | 94 |
yield |
129 | 129 | Нет | 115 | Нет | 129 | Нет | 86 | Нет | Нет | 129 |
© 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/Scheduler