abort-controller-multiplexer
Version:
Combine multiple AbortControllers or AbortSignals into a single instance
17 lines (16 loc) • 466 B
JavaScript
import { combineSignals } from "./signal.js";
export function combineControllers(...controllers) {
const signals = controllers.map(controller => controller.signal);
const signal = combineSignals(...signals);
return {
get signal() {
return signal;
},
// Methods:
abort: (reason) => {
for (const controller of controllers) {
controller.abort(reason);
}
}
};
}