newbolt / app /utils /debounce.ts
0Scottzilla0's picture
Upload folder using huggingface_hub
8481fea verified
raw
history blame contribute delete
356 Bytes
export function debounce<Args extends any[]>(fn: (...args: Args) => void, delay = 100) {
if (delay === 0) {
return fn;
}
let timer: number | undefined;
return function <U>(this: U, ...args: Args) {
const context = this;
clearTimeout(timer);
timer = window.setTimeout(() => {
fn.apply(context, args);
}, delay);
};
}