防抖、节流

防抖和节流相似,都是为了减小服务器的压力。

防抖:比如现在有个输入框,需求用户每次输入能够实时查询相关数据(模糊查询),这时候就需要做个防抖处理,也就是我们尽可能等用户输入完之后再去查询,可以设定个时间,输入完1.5秒或两秒后再去查询(如果在设定的时间又触发事件,会把上次的清除掉,重新计时)。要不然如果用户一直按着不停,一秒钟可能会有很多次请求,会给服务器造成很大的压力,导致页面卡顿

节流:就是对连续发生的事件 做一下限制  不要那么频繁。针对可能每秒钟都会有很多次或几十次事件的发生。可以每两秒触发一次效果就比较好了

<script setup>
import { reactive } from 'vue'
const data = reactive({
  timer: null
})

// 防抖
const antiShake = (fn, wait) => {
  if(data.timer) clearTimeout(data.timer)
  data.timer = setTimeout(fn, wait)
}
// 节流
const throttle = (fn, wait) => {
  if(!data.timer) {
    fn()
    data.timer = setTimeout(() => {
      data.timer = null
    }, wait)
  }
}

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会说法语的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值