- 安装 npm i lodash 引入 import throttle from ‘lodash/throttle’ 原理就是在外面包一层
- 防抖 : 多次变一次 throttle
- 节流 : 一次变少次
// 数量加
addsum:throttle (async function (skuId) {
await reqAddOrUpdateCart(skuId, +1)
this.$store.dispatch('cart/getCartList')
},1000,{trailing:false}),
函数防抖(最后那一下)
- 概念:事件被触发 n 秒后再执行回调函数,若这 n 秒内事件又被触发,则重新计时 n 秒。
- 通俗理解:要做的事,总是改来改去,那么就等你下发指令后 n 秒,我再做,免得你再改。
- 生活中的例子:调节空调温度时,按下【+】或【-】,等 1 秒空调才有反应。
- 代码中的应用:等待用户输入关键词结束后再搜索。
函数节流(别催,催也没有用)
- 概念:在 n 秒内,无论触发事件多少次,回调函数只执行一次。
- 通俗理解:你催的再急,也没用,我做事的频率是有极限的。
- 生活中的例子:就算火车要开了,我 3 秒内也只能吃一口面。
- 代码中的应用:某些特殊的按钮,不允许用户频繁的点击。