coderef

AbortController and AbortSignalBaseline · Widely available

The AbortController and AbortSignal APIs allow you to cancel an ongoing operation, such as a fetch() request.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Mar 25, 2019. Widely available since Sep 25, 2021.

Browser support

DesktopChrome
1–65Not supported
66+Supportedsince Apr 17, 2018
Current: 155
Edge
12–15Not supported
16+Supportedsince Oct 17, 2017
Current: 154
Firefox
1–56Not supported
57+Supportedsince Nov 14, 2017
Current: 157
Safari
1–12Not supported
12.1+Supportedsince Mar 25, 2019
Current: 27
MobileChrome Android
18–65Not supported
66+Supportedsince Apr 17, 2018
Current: 155
Firefox Android
4–56Not supported
57+Supportedsince Nov 28, 2017
Current: 157
Safari iOS
1–12Not supported
12.2+Supportedsince Mar 25, 2019
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: AbortController.

Feature detection

JS · check before using
if ("AbortController" in globalThis) {
  // AbortController is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (12). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
AbortController66165712.1665712.2
AbortController.AbortController66165712.1665712.2
AbortController.abort66165712.1665712.2
AbortController.abort.reason_parameter98989715.4989715.4
AbortController.signal66165712.1665712.2
AbortSignal66165711.1665711.3
AbortSignal.abort_event66165711.1665711.3
AbortSignal.abort_static93938815938815
AbortSignal.abort_static.reason_parameter98989715.4989715.4
AbortSignal.aborted66165711.1665711.3
AbortSignal.reason98989715.4989715.4
AbortSignal.throwIfAborted1001009715.41009715.4