什么是防抖和节流?怎么来理解他们?

88 阅读1分钟

防抖(debounce) 比如一个点击事件,点击一次请求一次数据,如果你一直点击一直点击他一直请求数据这样是不合理的,此时防抖的作用就来了,防止高频率触发事件 通定时器来判断你最后一次点击结束来触发点击事件,简单来说你设置一个定时器点击之后三秒后执行点击事件,你在高频率点击时他按照你最后一次点击生效来执行定时器三秒之后发起请求,所有你在高频率点击的时候定时器就在一直刷新重新计算等达到,你定时器设定的事件之后接着往下执行。

一句话解释,防抖是一个点击事件你高频率点击后按照你最后一次点击接着往下执行

节流 节流更好理解,跟防抖恰恰相反,在定时器中同样高频度触发事件,在你第一次触发事件时就开始执行定时器在没到你设置的定时器时间内,你高频率触发的事件都会被看成一次操作,定时器设定的时间为三秒,在你第一次点击之后定时器开始执行三秒以内,你点击多少次都会被看成一次,在高频率点击中达到了定时器设定时间,定时器重新计时开启第二次点击操作

防抖跟节流的区别是防抖是按照你最后一次点击来执行操作,节流是按照你第一次点击之后达到定时器设定时间来执行操作