TaskSignal

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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.

EventTarget AbortSignal TaskSignal

Properties

The TaskSignal interface also inherits properties from its parent interface, AbortSignal.

TaskSignal.priority Read only

Returns the priority of the signal.

Methods

The TaskSignal interface inherits methods from its parent interface, AbortSignal.

Static methods

The TaskSignal interface inherits static methods from its parent interface, AbortSignal.

Events

The TaskSignal interface also inherits events and event handlers from its parent interface, AbortSignal.

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