Spec-Zone.ru › Web APIs

TaskController: setPriority() метод

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

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

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

Метод setPriority() интерфейса TaskController может быть вызван для установки нового приоритета для signal данного контроллера. Если задаче с приоритетом настроено использование сигнала, это также изменит приоритет задачи.

Наблюдатели уведомляются об изменениях приоритета путём отправки события prioritychange. Метод уведомит только в том случае, если приоритет действительно изменился (событие не генерируется, если приоритет не будет изменён вызовом).

Обратите внимание, что приоритет задачи может быть изменён только для задач с изменяемым приоритетом. Если задача неизменяема, вызов функции игнорируется.

Синтаксис

setPriority(priority)

Параметры

priority

Приоритет задачи. Один из: "user-blocking", "user-visible", "background".

Возвращаемое значение

Ничего (undefined).

Исключения

NotAllowedError DOMException

Изменение приоритета уже началось.

Примеры

Сначала мы создаём контроллер задач. В данном случае мы не задаём приоритет, поэтому он будет по умолчанию user-visible.

// Create a TaskController with default priority: 'user-visible'
const controller = new TaskController();

Затем мы передаём сигнал контроллера методу Scheduler.postTask().

// Post task passing the controller's signal.
// The signal priority sets the initial priority of the task
scheduler
  .postTask(() => "Task execute", { signal: controller.signal })
  .then((taskResult) => {
    console.log(`${taskResult}`);
  }) // Run on success)
  .catch((error) => {
    console.log(`Catch error: ${error}`);
  }); // Run on fail

Затем контроллер можно использовать для изменения приоритета

// Change the priority to 'background' using the controller
controller.setPriority("background");

Дополнительные примеры, включая показ того, как обработать событие, возникающее при изменении приоритета, можно найти в: API планирования задач с приоритетами > Примеры.

Спецификации

Спецификация
Планирование задач с приоритетами
# dom-taskcontroller-setpriority

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
setPriority 94 94 101 80 Нет 94 Нет 66 Нет 17.0 94

© 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/TaskController/setPriority

Spec-Zone.ru

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