abort-controller-multiplexer v0.1.1
AbortController Multiplexer
Combine multiple AbortControllers or AbortSignals into a single instance
AbortControllers are very useful mechanisms in JavaScript that allow one to insert abort signals into application components with ease. You can pass an AbortController's signal (AbortSignal) into methods you call, abort it later, and use it to:
- Cancel asynchronous operations
- Cancel requests
 
 - Throw if the signal was previously aborted
 - Etc.
 
Sometimes, in sufficiently complicated applications, you may run across situations where you need multiple abort signals. This library can be used to group them together into one large signal/controller, that you can abort from a single method or watch using a single signal.
Installation
Install using npm:
npm install abort-controller-multiplexer --saveNote that this library uses ESM. You must consume it in an ESM-friendly environment.
Usage
Combine several abort controllers:
import { combineControllers } from "abort-controller-multiplexer";
const ac1 = new AbortController();
const ac2 = new AbortController();
const controller = combineControllers(ac1, ac2);
controller.abort();Note that combineControllers calls combineSignals under the hood.
Combine several signals:
import { combineSignals } from "abort-controller-multiplexer";
const ac1 = new AbortController();
const ac2 = new AbortController();
const signal = combineSignals(ac1.signal, ac2.signal);
ac1.abort();
signal.throwIfAborted(); // ThrowsNote that these combination methods do not modify the underlying AbortController and AbortSignal instances.