首先了解一下什么是防抖、节流
防抖:当前的所有的触发都被取消,最后一次在规定时间内才会触发,即如果连续快速触发,只会执行一次。
节流:把频繁的触发变为少量的触发,可以给浏览器充裕的时间解析代码
防抖就像是王者荣耀回城,打断回城就会重新开始,它只执行最后一次
节流就是王者荣耀等冷却时间,触发后一段时间内不能触发,过了这段时间就可以再次触发
那了解了防抖和节流的区别,防抖和节流的应用场景有哪些呢?
防抖:
在搜索框输入时,如果每输入一个字都向服务器发请求太过频繁,可以等到输入结束后再发请求,这个时候就可以用防抖
节流:
1. 在三级列表中,鼠标悬浮一级菜单时会显示二级三级菜单,快速从上到下悬浮数据来不及渲染,可以使用节流的方式。
2.在加入购物车是增加商品数量,就可以采用节流的优化,方式由于用户操作频繁而导致数据错误。
使用方式:
方式一:全部引入——以防抖为例
import _ from"/lodash"
_.debounce(function(){
//异步任务
},1000)
//回城需要1s中如果中断回城,再触发还是需要重新等待1s中
方式二:按需引入——以节流为例
import throttle from "lodash/throttle"
// 当鼠标移入的时候让商品分类显示
enterShow:throttle(function(index){
this.show=true
},1000)