Skip to main content

@rtorcato/js-common / abortController

abortController

Functions​

createAbortController()​

createAbortController(): object

Defined in: abortController/index.ts:14

Creates a new AbortController and returns its controller and signal.

Example​

const { controller, signal } = createAbortController()
signal.aborted // false
controller.abort()
signal.aborted // true

Returns​

object

controller​

controller: AbortController

signal​

signal: AbortSignal = controller.signal


abortPromise()​

abortPromise(signal): Promise<never>

Defined in: abortController/index.ts:33

Returns a promise that rejects with signal.reason when the given AbortSignal is aborted.

Example​

const { controller, signal } = createAbortController()
const pending = abortPromise(signal)
controller.abort()
await pending.catch((err) => err.name) // 'AbortError'

Parameters​

signal​

AbortSignal

The AbortSignal to listen to.

Returns​

Promise<never>


withAbort()​

withAbort<T>(promise, signal): Promise<T>

Defined in: abortController/index.ts:59

Wraps a promise and rejects it with signal.reason if the signal is aborted. The abort listener is removed once the promise settles.

Example​

const { controller, signal } = createAbortController()
const slow = new Promise<string>((resolve) => setTimeout(() => resolve('done'), 50))

await withAbort(slow, signal) // 'done'

controller.abort()
await withAbort(slow, signal).catch((err) => err.name) // 'AbortError'

Type Parameters​

T​

T

Parameters​

promise​

Promise<T>

The promise to wrap.

signal​

AbortSignal

The AbortSignal.

Returns​

Promise<T>


abortAfter()​

abortAfter(controller, ms): Timeout

Defined in: abortController/index.ts:84

Aborts the given controller after a timeout (ms).

Parameters​

controller​

AbortController

The AbortController.

ms​

number

Timeout in milliseconds.

Returns​

Timeout

The timeout ID.