diff --git a/packages/react/src/utils/Queue.ts b/packages/react/src/utils/Queue.ts new file mode 100644 index 0000000..9aff110 --- /dev/null +++ b/packages/react/src/utils/Queue.ts @@ -0,0 +1,14 @@ +export class Queue { + private lastJob?: Promise; + + push(job: () => Promise): Promise { + const work = async () => { + if (this.lastJob) { + await this.lastJob; + } + return job(); + }; + this.lastJob = work(); + return this.lastJob; + } +}