17 lines
343 B
JavaScript
17 lines
343 B
JavaScript
module.exports = class KeyTimeout {
|
|
constructor() {
|
|
this.timeoutHandleForKey = {};
|
|
}
|
|
|
|
clearTimeout(key) {
|
|
clearTimeout(this.timeoutHandleForKey[key]);
|
|
}
|
|
|
|
updateTimeout(key, durationMs, callback) {
|
|
this.clearTimeout(key);
|
|
this.timeoutHandleForKey[key] = setTimeout(() => {
|
|
callback();
|
|
}, durationMs);
|
|
}
|
|
};
|