当前位置: 首页 > news >正文

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 = nowfn.apply(this,arguments)}

引入调用

//引入防抖函数
import {throttle} from 'util/common.js'//调用
throttle(()=>{//需要节流执行的逻辑
},800)

http://www.lryc.cn/news/238670.html

相关文章:

  • springcloud alibaba学习视频
  • 【MySQL】一些内置函数(时间函数、字符串函数、数学函数等,学会了有妙用)
  • QtC++与QColumnView详解
  • 微信小程序配置企业微信的在线客服
  • 深入理解Java AQS:从原理到源码分析
  • 【数据结构(四)】栈(1)
  • 实验(四):指令部件实验
  • 【Android11】在内置的Tvsettings的界面中显示以太网Mac地址
  • 在Oracle 11g 数据库上设置透明数据加密(TDE)
  • 互动直播 之 视频帧原始数据管理
  • 基于tcp协议及数据库sqlite3的云词典项目
  • C/C++内存管理(1):C/C++内存分布,C++内存管理方式
  • 11 redis中分布式锁的实现
  • 循环链表3
  • 如何修改百科内容?百度百科内容怎么修改?
  • mysql8.0英文OCP考试第131-140题
  • MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
  • 信号的处理时机(内核态,用户态,如何/为什么相互转换,内核空间,cpu寄存器),信号的处理流程详细介绍+抽象图解
  • 【JavaEE】Spring的创建和使用(保姆级手把手图解)
  • MyBatis:关联查询
  • 第十二章 控制值的转换
  • SQL并集、交集、差集使用
  • 【双指针】盛水最多的容器
  • win11,引导项管理
  • YoloV8改进策略:WaveletPool解决小目标的混叠问题,提高小目标的检测精度
  • JavaScript中的假值对象是什么?
  • 求二叉树的最大密度(可运行)
  • V100 GPU服务器安装CUDNN教程
  • RT-Thread Hoist_Motor PID
  • css 实现文字流光效果