From 6f103b92bc2b2c073e6821b2f0391a4a44b46854 Mon Sep 17 00:00:00 2001 From: Timothy Farrell Date: Fri, 27 Oct 2017 09:19:03 -0500 Subject: [PATCH] BackgroundTask no longer debounces --- packages/gallery/src/utils/event.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/gallery/src/utils/event.js b/packages/gallery/src/utils/event.js index 42b3436..452ff87 100644 --- a/packages/gallery/src/utils/event.js +++ b/packages/gallery/src/utils/event.js @@ -59,8 +59,7 @@ if (!global.requestIdleCallback) { export function backgroundTask(fn, initialDelay = 500) { let id = null; - let reRunCount = 0; - let params = []; + const params = []; async function runTask({ didTimeout }) { if (didTimeout) { @@ -69,16 +68,15 @@ export function backgroundTask(fn, initialDelay = 500) { } const start = Date.now(); group(fn.name); - if (params.length) { - log(`${fn.name} params: `, ...params); + const p = params.shift(); + if (p.length) { + log(`${fn.name} params: `, ...p); } - await fn(...params); + await fn(...p); const executionTime = Date.now() - start; log(`${fn.name} execution time: ${executionTime}ms`); groupEnd(fn.name); - params = []; - if (reRunCount) { - reRunCount -= 1; + if (params.length) { id = requestIdleCallback(runTask); } else { id = null; @@ -86,11 +84,10 @@ export function backgroundTask(fn, initialDelay = 500) { } const wrapper = (...args) => { + params.push(args); if (id !== null) { - reRunCount += 1; return false; } - params = args; id = requestIdleCallback(runTask); return true; };