函数的节流和防抖是一个老生常谈的话题了,下面来唠唠,直入主题。
什么是函数的防抖?
函数在规定的时间内执行。下面这个例子 就是在2s的时候才执行函数。
常用场景:用户名验证,邮箱验证。
为什么要用?
谁用谁知道,用了都说好!大大提高的性能,减轻服务端压力(验证有调用后台接口的时候)
tool.js文件
export function deBounce(func, wait) {
let timeOut = null;
return function (...args) {
clearTimeout(timeOut);//一定要清除定时器
timeOut = setTimeout(() => {
func(...args);
}, wait);
};
}
------------------我是史上最帅的分割线-----------------------------------
调用的时候
import { deBounce} from 'tool'
//使用onChange 做为演示
onChange = deBounce(() => {//格式一定要这么写!!!当然箭头函数 你也可以传方法
//此处放置需要防抖的功能
},2000);
一个防抖函数功能就完成了,在实际开发中都是直接封装成库直接调用
以前开发过的功能,一直没做归纳总结,温故而知新,才会理解更加透彻。
例子亲测 可直接使用,希望能帮到大家。
网友评论