cy
2023-12-09 a4d0977f01a4b290f4982918382fffb4f5fbcb14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 * 一个简单的函数防抖
 * @param {Function} fun 需要限制执行频率的函数
 * @param {Number} delay 延迟时间,这段时间过后,才可触发第二次
 */
export default function (fun, delay) {
  // 记录上一次函数触发的时间
  var timer = null;
  var debounced = function () {
    var ctx = this;
    var args = arguments;
    // 清除上一次延时器
    if (timer) clearTimeout(timer);
    timer = setTimeout(function () {
      fun.apply(ctx, args);
    }, delay);
  };
  return debounced;
}