uniapp 防抖节流封装和使用

防抖(debounce):定义一个时间,延迟n秒执行,n秒内再次调用,会重新计时,计时结束后才会再次执行

主要运用场景:

  1. 输入框实时搜索:在用户输入内容的过程中,使用防抖可以减少频繁的查询操作,提高性能。
  2. 点击事件:当用户在短时间内多次点击某个按钮时,可以使用防抖只执行一次点击事件,避免不必要的重复操作。

函数封装 util文件下创建 commo.js文件

let timer

/**
*防抖
*/

export function debounce(fn,delay){
    clearTimeout(timer)
    timer = setTimeout(()=>{
        fn();
    },delay);
}

引入调用

//引入防抖函数
import {debounce} from 'util/common.js'


//调用
debounce(()=>{
    //需要防抖执行的逻辑
},800)

节流(throttle): 函数会在一个时间段内只执行一次

主要运用场景:登陆、频繁请求大量数据接口

函数封装 util文件下创建 commo.js文件

let lastCall = 0

/**
*节流函数
*/

export function throttle(fn,delay){
    const now = new Date().getTime();
    if(now-lastCall<delay){
        return
    }
    lastCall = now
    fn.apply(this,arguments)
  
}

引入调用

//引入防抖函数
import {throttle} from 'util/common.js'


//调用
throttle(()=>{
    //需要节流执行的逻辑
},800)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值