diff --git a/packages/queue/Queue.ts b/packages/queue/Queue.ts index 40ba21e..892d9c0 100644 --- a/packages/queue/Queue.ts +++ b/packages/queue/Queue.ts @@ -20,18 +20,20 @@ export default class Queue { this.queue = len } - public async add(promise: Promise) { - while (this.queue >= this.maxQueueLength || this.isPaused) { - await new Promise((res) => setTimeout(res, this.timeToWait)) + public async add(...promises: Array>) { + for (const promise of promises) { + while (this.queue >= this.maxQueueLength || this.isPaused) { + await new Promise((res) => setTimeout(res, this.timeToWait)) + } + this.updateCurrentQueueLength(this.queue+1) + promise + .then(() => { + this.updateCurrentQueueLength(this.queue-1) + }).catch((e) => { + this.updateCurrentQueueLength(this.queue-1) + this.throwError = e + }) } - this.updateCurrentQueueLength(this.queue+1) - promise - .then(() => { - this.updateCurrentQueueLength(this.queue-1) - }).catch((e) => { - this.updateCurrentQueueLength(this.queue-1) - this.throwError = e - }) } public async waitEnd() {