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 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:67

Wraps a promise and rejects it if the signal is aborted.

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:77

Aborts the given controller after a timeout (ms).

Parameters

controller

AbortController

The AbortController.

ms

number

Timeout in milliseconds.

Returns

Timeout

The timeout ID.