/**
* 节流适用场景:表单提交
* @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);
};
}
用的时候是这样用的,也可以不加时间
![](https://i-blog.csdnimg.cn/blog_migrate/be4b243bf3642f54d9d82aca405b7c8c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d9e617f56227aa3f9b1598c8d33b602a.png)