Files
HelixNotes/src/lib/utils/debounce.ts
T

8 lines
244 B
TypeScript

export function debounce<T extends (...args: any[]) => any>(fn: T, ms: number): T {
let timeout: ReturnType<typeof setTimeout>;
return ((...args: any[]) => {
clearTimeout(timeout);
timeout = setTimeout(() => fn(...args), ms);
}) as T;
}