diff --git a/src/services/upload/queueProcessor.ts b/src/services/upload/queueProcessor.ts index b825b8f21..470659f6b 100644 --- a/src/services/upload/queueProcessor.ts +++ b/src/services/upload/queueProcessor.ts @@ -5,7 +5,7 @@ interface RequestQueueItem { canceller: { exec: () => void }; } -interface RequestCanceller { +export interface RequestCanceller { exec: () => void; } @@ -16,7 +16,9 @@ export default class QueueProcessor { constructor(private maxParallelProcesses: number) {} - public queueUpRequest(request: () => Promise) { + public queueUpRequest( + request: (canceller?: RequestCanceller) => Promise + ) { const isCanceled = { status: false }; const canceller: RequestCanceller = { exec: () => { @@ -48,7 +50,7 @@ export default class QueueProcessor { public async processQueue() { while (this.requestQueue.length > 0) { const queueItem = this.requestQueue.pop(); - let response: string; + let response = null; if (queueItem.isCanceled.status) { response = null; @@ -60,7 +62,6 @@ export default class QueueProcessor { } } queueItem.callback(response); - await this.processQueue(); } } }