防抖函数:
y 100
对于refresh非常频繁的问题,进行防抖操作,
防抖debounce/节流throttle/
防抖函数起作用的过程,如果我们直接执行refresh,那么refresh函数会被执行30次。
可以将refresh函数放入debounce函数当中,生成一个新的函数。
debounce(func, delay = 500) {
let timer;
return function (...args) {
if(timer) clearTimeout(timer);
timer = setTimeout(()=> {
func.apply(this, args);
}, delay);
}
},
之后在调用非常频繁的时候,生成新的函数
而新生成的函数,并不会非常频繁的调用,如果下一次执行来的非常快,那么会将上一次取消掉。