pool.d.ts 489 B

123456789101112131415161718
  1. export declare type RunTask<T> = (...args: T[]) => Promise<void>;
  2. export interface QueueContent<T> {
  3. task: T;
  4. resolve: () => void;
  5. reject: (err?: any) => void;
  6. }
  7. export declare class Pool<T> {
  8. private runTask;
  9. private limit;
  10. aborted: boolean;
  11. queue: Array<QueueContent<T>>;
  12. processing: Array<QueueContent<T>>;
  13. constructor(runTask: RunTask<T>, limit: number);
  14. enqueue(task: T): Promise<void>;
  15. private run;
  16. private check;
  17. abort(): void;
  18. }