1.0.4 • Published 7 months ago

linked-abort-controller v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

LinkedAbortController

Same as AbortController but with sugar for linking outer abort signals

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);
      });
    });
  }
}