节流防抖笔记
# 1、 npm i --save lodash
# 2、对应的页面引入 import _ from 'lodash'
# 防抖:_.debounce
原理:原理是在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。也就是说事件来了,先setTimeout定个时,n秒后再去触发回调函数。它和节流的不同在于如果某段时间内事件以间隔小于n秒的频率执行,那么这段时间回调只会触发一次。节流则是按照200ms或者300ms定时触发,而不仅仅是一次
应用场景:比如通过搜索过滤一个列表,通过“@change=“search”监听输入向后台发起请求,如果每输入一个字母就调用一次”search“向后台发送一次请求,效率将会很低,如果可以将调用search函数控制在一定时间内,比如1秒内,在这一秒钟,我输入了5个字母,search函数被调用了5次,但是只向后台发送一次请求,是不是效率就会提升很多,不需要频繁调接口。
例:searchBtn:_.debounce(function(){
let that=this
console.log(1111111)
},3000),
# 节流: _.throttle
原理 :让一个函数不要执行得太频繁,减少一些过快的调用来节流。也就是在一段固定的时间内只触发一次回调函数,即便在这段时间内某个事件多次被触发也只触发回调一次。
# 注意 let that=this 重新定义指向
例: searchBtn:_.throttle(function(){
let that=this
console.log(1111111)
},10000),
官方文档 :https://lodash.com/
博文相关链接 :https://segmentfault.com/a/1190000017227559
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通