Skip to content

Commit c0b53dc

Browse files
committed
skip redundant performance.now() in debounce
1 parent 601e331 commit c0b53dc

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/js/util.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,18 @@ export const debounce = /*@__PURE__*/(() => {
4444
};
4545
return Object.assign((fn, delay, ...args) => {
4646
delay = +delay || 0;
47-
const time = performance.now() + delay;
47+
let time;
4848
let old = timers.get(fn);
4949
if (!old) {
5050
timers.set(fn, old = {});
51-
} else if (delay && old.time < time) {
51+
} else if (delay && old.time < (time = performance.now() + delay)) {
5252
clearTimer(old);
5353
} else if (old.args.length === args.length && old.args.every((a, i) => a === args[i])) {
5454
// Not using deepEqual because a different object reference means a different `args`
5555
return;
5656
}
5757
old.args = args;
58-
old.time = time;
58+
old.time = delay && (time ?? performance.now() + delay);
5959
old.timer = setTimeout(run, delay, fn, args);
6060
}, {
6161
timers,

0 commit comments

Comments
 (0)