TaskController: setPriority() метод
Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.
Примечание: Эта функция доступна в Web Workers.
Метод setPriority() интерфейса TaskController может быть вызван для установки нового приоритета для signal данного контроллера. Если задаче с приоритетом настроено использование сигнала, это также изменит приоритет задачи.
Наблюдатели уведомляются об изменениях приоритета путём отправки события prioritychange. Метод уведомит только в том случае, если приоритет действительно изменился (событие не генерируется, если приоритет не будет изменён вызовом).
Обратите внимание, что приоритет задачи может быть изменён только для задач с изменяемым приоритетом. Если задача неизменяема, вызов функции игнорируется.
Синтаксис
setPriority(priority)
Параметры
priority-
Приоритет задачи. Один из:
"user-blocking","user-visible","background".
Возвращаемое значение
Ничего (undefined).
Исключения
-
NotAllowedErrorDOMException -
Изменение приоритета уже началось.
Примеры
Сначала мы создаём контроллер задач. В данном случае мы не задаём приоритет, поэтому он будет по умолчанию 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 планирования задач с приоритетами > Примеры.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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