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

用户986184975
2025年03月04日
|
浏览 118
好的,以下是一个使用 TypeScript 实现的防抖函数示例:
复制代码
function debounce(func: (...args: any[]) => void, wait: number): (...args: any[]) => void {
let timeout: ReturnType<typeof setTimeout> | null;
return function(...args: any[]) {
const later = () => {
clearTimeout(timeout!);
func(...args);
};
if (timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(later, wait);
};
}
// 使用示例
const handleResize = debounce(() => {
console.log('Window resized');
}, 300);
window.addEventListener('resize', handleResize);
关键技术说明:
- 防抖函数:通过
setTimeout和clearTimeout实现防抖效果。 - 闭包:利用闭包保存
timeout变量,以便在每次调用时清除之前的定时器。 - 事件监听:将防抖后的函数绑定到需要监听的事件上,如窗口大小调整事件。
补充信息:
如果您有更多问题或需要进一步的定制化需求,请点击下方【🔍追问按钮】提交补充信息。
我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
上一篇:写一个ts防抖
下一篇:写一个ts防抖
