minimal-promise-pool
Version:
A minimal library for managing multiple promise instances (promise pool).
19 lines (18 loc) • 686 B
TypeScript
export declare class PromisePool<T = unknown> {
private readonly promises;
private waitingPromise;
private resumeFunction;
private _concurrency;
private _queuedPromiseCount;
constructor(concurrency?: number);
get workingPromiseCount(): number;
get concurrency(): number;
set concurrency(concurrency: number);
get queuedPromiseCount(): number;
promiseAll(): Promise<T[]>;
promiseAllSettled(): Promise<PromiseSettledResult<T>[]>;
run(startPromise: () => Promise<T>): Promise<void>;
runAndWaitForReturnValue<R extends T>(startPromise: () => Promise<R>): Promise<R>;
private privateRunAndWaitForReturnValue;
private resume;
}