函数反抖 debounce

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

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

  

原文地址:https://www.cnblogs.com/intangible/p/10059970.html