JS| arrayFunction
2024-10-28 本文已影响0人
玫瑰的lover
// 实现节流和防抖函数
export const debounce = (
fn: () => void,
delay: number
): ((...args: any[]) => void) => {
let timerId: number | undefined = undefined;
function wrapper(...args: any[]): void {
if (timerId) {
clearTimeout(timerId);
}
timerId = setTimeout(() => {
fn.apply(this, args as Array);
}, delay);
}
return wrapper;
};