pool.d.ts 469 B

12345678910111213141516
  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. queue: Array<QueueContent<T>>;
  11. processing: Array<QueueContent<T>>;
  12. constructor(runTask: RunTask<T>, limit: number);
  13. enqueue(task: T): Promise<void>;
  14. run(item: QueueContent<T>): void;
  15. check(): void;
  16. }