AbortController

AbortSignal

Represents a signal object that allows you to communicate with an asynchronous operation and abort it if desired

Syntax

JavaScript
AbortSignal.abort(reason?) / AbortSignal.timeout(ms)

Parameters

ParameterTypeDescription
reasonanyThe abort reason
msnumberMilliseconds until auto-abort for timeout()

Return Value

An AbortSignal instance

Examples

Basic Usage
const signal = AbortSignal.abort('cancelled')
console.log(signal.aborted) // true
console.log(signal.reason) // 'cancelled'
Practical Example
const signal = AbortSignal.timeout(5000)
fetch('/api/data', { signal })
  .then(res => res.json())
  .catch(err => console.log('Timed out or aborted'))
Advanced Usage
const signals = [AbortSignal.timeout(3000)]
const combined = AbortSignal.any(signals)
fetch('/api/slow', { signal: combined })
  .catch(() => console.log('Aborted'))

Understanding AbortSignal

The AbortSignal method in JavaScript represents a signal object that allows you to communicate with an asynchronous operation and abort it if desired. It belongs to the AbortController object and is one of the most widely used methods for working with abortcontroller values in modern JavaScript and TypeScript applications.

The method signature is AbortSignal.abort(reason?) / AbortSignal.timeout(ms). It accepts 2 parameters: reason, ms. When called, it returns an abortsignal instance. Understanding when and how to use AbortSignal() helps you write more expressive, readable code.

Common use cases for AbortSignal include data transformation, input validation, API response processing, and building reusable utility functions. It works well alongside related methods like event-abortcontroller, event-addeventlistener, event-removeeventlistener, enabling you to chain operations together for complex data manipulation pipelines.

AbortSignal.abort() supported in Chrome 93+, Firefox 88+, Safari 15+. AbortSignal.timeout() in Chrome 103+, Firefox 100+, Safari 16+. AbortSignal.any() in Chrome 116+, Firefox 124+, Safari 17.4+.

Browser Compatibility

AbortSignal.abort() supported in Chrome 93+, Firefox 88+, Safari 15+. AbortSignal.timeout() in Chrome 103+, Firefox 100+, Safari 16+. AbortSignal.any() in Chrome 116+, Firefox 124+, Safari 17.4+.

Related Methods

More AbortController Methods

Other methods in the AbortController object

Related Tools

More AbortController Methods

Explore JavaScript Methods

Browse our complete reference of 410 JavaScript methods with syntax, examples, and explanations.