/**
* 节流适用场景:表单提交
* @param {function} handler 进行节流的函数
* @param {number} wait 等待时间ms
*/
throttleFn() {
var lastTime = 0;
return function (handler, wait = 1000) {
var nowTime = new Date().getTime();
if (nowTime - lastTime > wait) {
handler && handler();
lastTime = nowTime;
}
};
}
/**
* 防抖适用场景:搜索框
* @param {function} handler 进行防抖的函数
* @param {number} delay 等待时间ms
*/
debounceFn() {
var timer = null;
return function (handler, delay = 1000) {
clearTimeout(timer);
timer = setTimeout(function () {
handler && handler();
}, delay);
};
}
用的时候是这样用的,也可以不加时间