Utility functions to use and combine
AbortSignal
andAbortController
with Promises
npm install abort-utils
import {
onAbort,
mergeSignals,
linkControllers,
promiseFromSignal,
ReusableAbortController
} from 'abort-utils';
This package exports various utilities, just import what you need.
- onAbort: Add multiple callbacks, observers and other abort controllers to a single signal.
- mergeSignals: Create a new signal that aborts when any of the input signals aborts.
- linkControllers: Link multiple controllers so that when one aborts, they all abort with the same reason.
-
signalFromEvent: Create an
AbortSignal
that is aborted when an event is dispatched. -
signalFromPromise: Create an
AbortSignal
that is aborted when a Promise is resolved or rejected. - promiseFromSignal: Create a Promise that resolves or rejects when the signal aborts.
-
ReusableAbortController: Like
AbortController
, but it generates a new signal after it's aborted.
Here's a visual representation that might help understand how some of the methods differ and behave.
MIT © Federico Brigante