debounceAsync won't queue requests made during executions
Massimo Melina committed
Jun 14, 2022 at 11:36 UTC
d304331e8be9fa08f07acfbf563fb1da0a148c7e
1 file changed
+2
-1
server/src/misc.ts
+2
-1
@@ -208,9 +208,10 @@ export function debounceAsync<CB extends (...args: any[]) => Promise<R>, R>(
208
})
209
210
async function debouncer(...args:any[]) {
211
+ if (runningCallback)
212
+ return await runningCallback
213
whoIsWaiting = args
214
waitingSince ||= Date.now()
213
- await runningCallback
215
const waitingCap = maxWait - (Date.now() - (waitingSince || started))
216
const waitFor = Math.min(waitingCap, leading ? wait - (Date.now() - started) : wait)
217
if (waitFor > 0)