防抖和节流原理分析

 工作中制作了

防抖和节流原理分析_第1张图片

 

这样一个页面,遇到了防抖和节流的问题,还被批评了,夜里研究下:

 

debounce(防抖)

throttle(节流)

 

防抖 debounce 简单来说就是防止抖动

当持续触发事件时 debounce 会合并事件且不会去触发事件,当一定时间内没有触发在这个事件时,才真正去触发事件。

非立即执行版

防抖和节流原理分析_第2张图片

比如本次工作任务中不停切换tab页面时候就需要用防抖 点击后不能立刻刷新,

防抖和节流原理分析_第3张图片

 

立即执行版

防抖和节流原理分析_第4张图片

立即执行版的意思是触发事件后函数会立即执行,然后 n 秒内不触发事件才能继续执行函数的效果。

防抖和节流原理分析_第5张图片

结合版

防抖和节流原理分析_第6张图片

 

throttle(节流),当持续触发事件时,保证隔间时间触发一次事件

持续触发事件时,throttle会合并一定时间内的事件,并在该时间结束时真正去触发

防抖和节流原理分析_第7张图片

 

 防抖和节流原理分析_第8张图片

 节流:用锁好像也可以实现

 

自己在项目中的应用, 点击上方标题,切换页面的时候都是用的防抖

 

防抖:及时响应用户的输入,只是将多次请求合并为一次请求

节流:对请求进行有时间间隔的限制

转载于:https://www.cnblogs.com/eret9616/p/9515367.html

你可能感兴趣的:(防抖和节流原理分析)