函数反抖 debounce

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

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

  

posted @ 2018-12-03 18:02  莫问、前程  阅读(278)  评论(0编辑  收藏  举报