Skip to content

Commit 1ec42c7

Browse files
committed
improve setTimeout on TimerMap
1 parent ebf34d9 commit 1ec42c7

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/structures/TimerMap.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,18 @@ export default class TimerMap<K, V extends NodeJS.Timeout = NodeJS.Timeout> exte
4949
}
5050

5151
setTimeout(key: K, callback: () => unknown, delay?: number): void {
52+
this.clearTimeout(key);
53+
5254
if (typeof delay === "number" && delay > timerDelayLimit) {
5355
const timer = setTimeout(() => this.setTimeout(key, callback, delay - timerDelayLimit), timerDelayLimit);
5456
if (this.autoUnref) timer.unref();
55-
this.set(key, timer as V);
57+
super.set(key, timer as V);
5658
return;
5759
}
5860

5961
const timer = setTimeout(callback, delay);
6062
if (this.autoUnref) timer.unref();
61-
this.set(key, timer as V);
63+
super.set(key, timer as V);
6264
}
6365

6466
unrefTimeout(key: K) {

0 commit comments

Comments
 (0)