16 lines
439 B
TypeScript
16 lines
439 B
TypeScript
export function debounceManager(debounceTime: number): { ensureDebounce: (fn: Function) => void } {
|
|
|
|
var curHandle: number | null = null;
|
|
|
|
return {
|
|
ensureDebounce: (fn: Function) => {
|
|
if (curHandle != null) {
|
|
clearInterval(curHandle);
|
|
curHandle = null;
|
|
}
|
|
curHandle = setTimeout(() => {
|
|
fn();
|
|
}, debounceTime);
|
|
}
|
|
}
|
|
} |