Files
AFFiNE-Mirror/apps/electron/layers/main/src/utils.ts
T
2023-05-09 02:30:01 -05:00

20 lines
393 B
TypeScript

export function debounce<T extends (...args: any[]) => void>(
fn: T,
delay: number
) {
let timeoutId: NodeJS.Timer | undefined;
return (...args: Parameters<T>) => {
if (timeoutId) {
clearTimeout(timeoutId);
}
timeoutId = setTimeout(() => {
fn(...args);
timeoutId = undefined;
}, delay);
};
}
export function ts() {
return new Date().getTime();
}