说完防抖,该谈谈节流了

111 阅读1分钟

节流:控制两次事件的执行间隔。

1、记录上一次事件的触发时间。
2、本次事件与上次事件的间隔若不小于设定的delay,则执行,否则抛弃。
2、执行本次事件后,更新preTime。

function throttle(fn, delay) {
  let preTime = Date.now();
  return function () {
    let nowTime = Date.now();
    if (nowTime - preTime >= delay) {
      preTime = Date.now();
      fn();
    }
  };
}