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 Standard # ref-for-dom-request-signal② |
Browser compatibility
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.