Spec-Zone.ru › Web APIs

Планировщик задач

Ограниченная доступность

Эта функция не относится к базовому уровню, поскольку она не работает во всех распространённых браузерах.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Потоках 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API