函数防抖(debounce)是指事件在一定时间内事件只执行一次,如果在这段时间又触发了事件,则重新开始计时,打个很简单的比喻,比如在打王者荣耀时,一定要连续干掉五个人才能触发hetai kill '五连绝世'效果,如果中途被打断就得重新开始连续干五个人了。
适用场景:
搜索框搜索联想。只需用户最后一次输入完,再发送请求
手机号、邮箱验证输入检测
窗口resize。只需窗口调整完成后,计算窗口大小。防止重复渲染
高频点击提交,表单重复提交
const _.debounce = (func, wait) => {
let timer;
return () => {
clearTimeout(timer);
timer = setTimeout(func, wait);
};
};
lodash中的 Debounce
lodash中已经帮我们封装好了这个函数了,我们可以把它引入到小程序项目了,不用全部引入,只需要引入debounce.js链接:https://github.com/lodash/lodash
自己做了个小程序的代码片段,
https://developers.weixin.qq.com/s/DnSuBamw7v6d