TaskSignal
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available in Web Workers.
The TaskSignal
interface of the Prioritized Task Scheduling API represents a signal object that allows you to communicate with a prioritized task, and abort it or change the priority (if required) via a TaskController
object.
An object of this type is created, and associated with, a TaskController
.
The initial priority of the signal may be set by specifying it as an argument to the TaskController()
constructor (by default it is "user-visible"
).
The priority can be changed by calling TaskController.setPriority()
on the controller.
The signal may be passed as the options.signal
argument in Scheduler.postTask()
, after which it's associated controller can be used to abort the task.
If the task priority is mutable, the controller can also be used to change the task's priority.
Abortable tasks that do not need the priority to change may instead specify an AbortSignal
as the options.signal
argument.
Instance properties
The TaskSignal
interface also inherits properties from its parent interface, AbortSignal
.
TaskSignal.priority
Read only-
Returns the priority of the signal.
Static methods
The TaskSignal
interface inherits methods from its parent interface, AbortSignal
.
TaskSignal.any()
Experimental-
Returns an
TaskSignal
that aborts when any of the given abort signals abort.
Instance methods
The TaskSignal
interface inherits methods from its parent interface, AbortSignal
.
Events
Listen to these events using addEventListener()
or by assigning an event listener to the oneventname
property of this interface.
prioritychange
-
Fired when the priority is changed. This is triggered by calling
TaskController.setPriority()
on the associated controller.
Examples
Examples for how the TaskSignal
is created and used for prioritizing and aborting tasks can be found here:
Specifications
Specification |
---|
Prioritized Task Scheduling # tasksignal |
Browser compatibility
BCD tables only load in the browser