节流函数

undefined

一个简单的节流函数

做开发的时候总会有遇到边界情况的考虑。例如点击发送请求,如果用户频繁点击。轮播图频繁切换都会导致页面或者服务器的不必要压力增加。这时候总是需要去设置定时器,进行节流。
虽然懂得怎么实现,但是从来没考虑过封装起来作为一个抽象方法。mooc课的老师给出的思路很棒!记录一下。

1
2
3
4
5
6
7
8
9
10
11
12
export function debounce(func, delay) {
let timer
return function (...args){
if(timer) {
clearTimeout(timer)
}
timer = setTimeout(() => {
func.apply(this, args)
}, delay)
}
}