linked-abort-controller
Version:
Same as AbortController but with sugar for linking outer abort signals
14 lines (13 loc) • 374 B
JavaScript
export class LinkedAbortController extends AbortController {
constructor(...abortSignals) {
super();
this.link(...abortSignals);
}
link(...abortSignals) {
abortSignals.forEach((abortSignal) => {
abortSignal?.addEventListener('abort', () => {
this.abort(abortSignal.reason);
});
});
}
}