blob: 32f14dae04964beade33669424822a5e9f923eea [file] [log] [blame]
/* eslint-disable */
export const debounce = (idle, func) => {//接收两个参数, 间隔时间和实际调用函数
let last;//保存异步调用实际函数, 通过闭包赋值不被销毁
return function () {
let ctx = this,//存放函数this, 和变量给下面函数使用
args = arguments;
clearInterval(last);//如果该函数被调用, 则清除上一个异步调用的实际函数
last = setTimeout(function () {//重设异步调用实际函数
func.apply(ctx, args);//让实际函数在间隔设置的时间后调用
}, idle)
}
}