写一个ts防抖
写一个ts防抖
写一个ts防抖

用户986184975
2025年03月04日
|
浏览 102
前端
当然可以!以下是一个使用 TypeScript 实现的简单防抖函数示例:
复制代码
function debounce<T extends (...args: any[]) => void>(func: T, wait: number): (...args: Parameters<T>) => void {
let timeout: ReturnType<typeof setTimeout> | null = null;
return function(...args: Parameters<T>) {
if (timeout !== null) {
clearTimeout(timeout);
}
timeout = setTimeout(() => func.apply(this, args), wait);
};
}
// 示例用法
const handleResize = debounce((event: UIEvent) => {
console.log('Window resized', event);
}, 300);
window.addEventListener('resize', handleResize);
这个防抖函数接受一个回调函数 func 和一个等待时间 wait,并在每次触发时清除之前的定时器,然后在指定的时间后执行回调函数。这样可以防止频繁调用回调函数,从而提高性能。
如需继续排查或进一步讨论,请点击下方【🔍追问按钮】提交补充信息。
我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
上一篇:番茄炒蛋怎么做
下一篇:写一个ts防抖
