Skip to content

js2me/linked-abort-controller

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published