防止抖动,单位时间内事件触发会被重置,避免事件被误伤触发多次,一段时间的不活动之后发布更改
const debounce = (fn, wait) => {
let timer
return (...args) => {
if(timer) {
clearTimeout(timer)
timer = null
}
timer = setTimeout(() => {
fn(...args)
}, wait)
}
}