防抖 节流

防抖

在固定时间内,如果有事件触发,则会再延长固定时间,如果在固定时间之内,一直没有触发事件,就会再次执行函数。

打个比方:
电梯,不是陌生的吧,按下电梯,电梯门打开,从电梯门打开到电梯门关上的事件是10s,如果在这10s之内没有人关上电梯,那么10s后就会自动关上电梯,这个过程就是在固定时间之内,一直没有触发事件,就会再次执行函数,继续想象,在电梯闭合的一瞬间,看见一个小姐姐跑过来赶电梯,这时候极具绅士风度的你按下了开电梯的按钮,电梯收到指令会再次打开电梯门,这时候就会再次打开电梯10s,这就解释了在固定时间内,如果有事件触发,则会再延长固定时间

节流

指定一个固定时间,无论时间触发与否,只要到了固定时间,都会触发

就比如说,我设置电脑熄屏时间是30min,只要到了30min就会自动熄屏,每30分钟熄屏一次

目的:降低高频时间触发,减少DOM操作或者请求次数,提高性能
比如说:onscroll,onresize,keydown,keyup,mousemove这些高频事件

那么如何解决我input一直输入一直请求后端的问题呢??
这就用到了防抖

解决
首先声明一下,我的这个项目是一个后端管理系统,所以我直接用了一个第三方库,lodash

说的不少了,看代码吧👀👀👀

1.下载lodash

cnpm i --save lodash

2.引入 使用 例如:

import _ from "lodash";

  getList: _.throttle(function () {
      this.getUserList();
    }, 2000),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值