qiniu-js
Version:
Javascript SDK for Qiniu Resource (Cloud) Storage AP
19 lines (18 loc) • 489 B
TypeScript
export declare type RunTask<T> = (...args: T[]) => Promise<void>;
export interface QueueContent<T> {
task: T;
resolve: () => void;
reject: (err?: any) => void;
}
export declare class Pool<T> {
private runTask;
private limit;
aborted: boolean;
queue: Array<QueueContent<T>>;
processing: Array<QueueContent<T>>;
constructor(runTask: RunTask<T>, limit: number);
enqueue(task: T): Promise<void>;
private run;
private check;
abort(): void;
}