debounce :
如果在一段延时内又触发了事件,则重新开始延时。即每次触发事件,只触发最近一次的事件。

const debounce = (fn, duration) => {
  let timer = null;
  return () => {
    clearTimeout(timer);
    
    timer = setTimeout(() => {
        fn();
    },duration);
  }
}

  

相关文章: