2.0.3 • Published 3 years ago

predefined-promise v2.0.3

Weekly downloads
9
License
ISC
Repository
-
Last release
3 years ago

predefined-promise

PredefinedPromise is targeting to reference resolve and reject before create Promise instance.

Usage

import EventEmitter from "eventemitter3";
import { PredefinedPromise } from "predefined-promise";

const event = new EventEmitter<{
  resolveEvent: [number];
  rejectEvent: [string];
}>();

const asyncFunc = (): Promise<number> => {
  const pp = new PredefinedPromise<number>();
  const resolving = (val: number) => pp.resolve(val);
  const rejecting = (reason: string) => pp.reject(new Error(reason));
  event.on("resolveEvent", resolving);
  event.on("rejectEvent", rejecting);

  return pp.wait().finally(() => {
    event.off("resolveEvent", resolving);
    event.off("rejectEvent", rejecting);
  });
};

Installing

npm add predefined-promise