Request: signal property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.

Note: This feature is available in Web Workers.

The read-only signal property of the Request interface returns the AbortSignal associated with the request.

Value

An AbortSignal object.

Examples

js
// Create a new abort controller const controller = new AbortController();  // Create a request with this controller's AbortSignal object const req = new Request("/", { signal: controller.signal });  // Add an event handler logging a message in case of abort req.signal.addEventListener("abort", () => {   console.log("abort"); });  // In case of abort, log the AbortSignal reason, if any fetch(req).catch(() => {   if (req.signal.aborted) {     if (req.signal.reason) {       console.log(`Request aborted with reason: ${req.signal.reason}`);     } else {       console.log("Request aborted but no reason was given.");     }   } else {     console.log("Request not aborted, but terminated abnormally.");   } });  // Actually abort the request controller.abort(); 

Specifications

Specification
Fetch
# ref-for-dom-request-signal②

Browser compatibility