linked-abort-controller
Version:
Same as AbortController but with sugar for linking outer abort signals
21 lines (17 loc) • 502 B
Markdown
# LinkedAbortController
Same as AbortController but with sugar for linking outer abort signals
```ts
export class LinkedAbortController extends AbortController {
constructor(...abortSignals: (AbortSignal | undefined)[]) {
super();
this.link(...abortSignals);
}
link(...abortSignals: (AbortSignal | undefined)[]) {
abortSignals.forEach((abortSignal) => {
abortSignal?.addEventListener('abort', () => {
this.abort(abortSignal.reason);
});
});
}
}
```