防抖函数

declare type FnThrottle=(...args:Array<any>)=>void
  throttle(fn: FnThrottle, interval) {
    let open = true;
    return (...args) => {
      if (!open) {
        return;
      }
      open = false;
      fn(...args);
      const ts = new Date().getTime();
      const mod = ts % interval;
      setTimeout(() => {
        open = true;
      }, mod);
    }
  },

使用:

  // clickMe里写点击逻辑
  // click时,调用throttleClick
  let throttleClick = throttle(clickMe, 16)

 

posted @ 2021-06-30 17:27  心意12  阅读(64)  评论(0)    收藏  举报