首页 > 其他分享 >关于lodash.debounce的配置

关于lodash.debounce的配置

时间:2024-02-18 14:44:05浏览次数:22  
标签:调用 lodash debounce 配置 debounced func leading options

最近在改一个bug的时候反馈说一个弹窗表单在快速多次的点击提交按钮时有可能重复提交,于是我在检查这个表单的时候发现他的防抖是这样配置的:

 submit1: debounce(function() {
      console.log(1);
      this.cancel(true);
 },500),

乍一看好像没什么问题,于是我查询了文档 lodash.debounce | Lodash中文文档 | Lodash中文网 (lodashjs.com),发现这样配置只能实现延时调用不能防抖,根据文档描述还有一个options参数,修改后的配置:

submit2: debounce(function() {
      console.log(2);
      this.cancel(true);
},500, {'leading': true,'trailing': false}),

文档原文:

创建一个 debounced(防抖动)函数,该函数会从上一次被调用后,延迟 wait 毫秒后调用 func 方法。 debounced(防抖动)函数提供一个 cancel 方法取消延迟的函数调用以及 flush 方法立即调用。 可以提供一个 options(选项) 对象决定如何调用 func 方法,options.leading 与|或 options.trailing 决定延迟前后如何触发(注:是 先调用后等待 还是 先等待后调用)。 func 调用时会传入最后一次提供给 debounced(防抖动)函数 的参数。 后续调用的 debounced(防抖动)函数返回是最后一次 func 调用的结果。
注意: 如果 leading 和 trailing 选项为 true, 则 func 允许 trailing 方式调用的条件为: 在 wait 期间多次调用防抖方法。
如果 wait 为 0 并且 leading 为 falsefunc调用将被推迟到下一个点,类似setTimeout0的超时。

我也有尝试过使用el-button的loading属性做防抖,但是只要手速够快,就不管用。

标签:调用,lodash,debounce,配置,debounced,func,leading,options
From: https://www.cnblogs.com/wdk2020/p/18019297

相关文章

  • 记一次centos7.9崩溃恢复操作(limits.conf配置失误),救援模式
    引起故障的原因:调整了操作系统的内核参数文件limits.conf,* softnproc131072* hardnproc131072* softnofile65536* hardnofile131072 以上的参数都扩大了10倍,ssh登录主机就开始异常了,连上去后就直接断开了,表象就是无法新建ssh会话连接,当前的用户有sudo免密操......
  • nginx 配置ipv6
    nginx 配置ipv6注意:从Nginx1.3的某个版本起,默认ipv6only是打开的。ipv6兼容ipv4端口模式不可以复用,复用会显示端口被占用,意思是不能部署两个server,要想复用,用本文中最后那个方法。一、只监听IPV61、方法一server{....listen[::]:80;...}2、方法二server{..........
  • Docker系列--网络的配置
    原文网址:​​Docker系列--网络的配置_IT利刃出鞘的博客-CSDN博客​​简介说明本文介绍Docker的网络的配置。分享Java技术星球(自学精灵):​​learn.skyofit.com​​官网网址​​https://docs.docker.com/engine/reference/commandline/network/​​网络的默认设置Docker启动......
  • 配置springcloud 网关gateway 转发websocket请求
    网关是整个项目的统一入口这是直接访问消息服务的请求路径端口号是20007WebSocketService.init("ws://127.0.0.1:20007/ws/"+用户id)显然这样是不符合微服务的方案,所有请求必须经过网关处理,转发到各个服务之中所以我们需要在网关中的yml或者nacos中添加以下配置spring:......
  • Openwrt罢工后重新配置记录
    春节回乡过年,远程登陆时发现,socat端口转发有点儿问题,无法访问自己的NAS。尝试重启openwrt,结果直接跪了,再也无法登录了。返京后摸索了半天,发现是安装系统的U盘可能是不行了,导致配置无法存储,每次重启系统都会直接复位。本来想一不做二不休,直接把系统装到买软路由时送的mSAT......
  • ## AndroidStudio安装和环境配置
    利用网盘资源,下载所需的sdk和AndroidStudio链接:https://pan.baidu.com/s/1d-7jRWhHwBU8DaustdJvVA提取码:8xec第一步:新建一个androidstudio,在这个文件夹下新建sdk,studio,work,第二步,运行安装包,在资料里面。点击next默认全选,点击next点击IAgree下一步直到安装到你新......
  • 从零开始配置 vim 编辑器
    从零开始配置vim编辑器笔者最近在windows环境下配置了WSL2和Debian并记录了下来。这一系列随笔将记录我从零开始配置vim的全部流程。这包括:笔者自己创建.vimrc的全部流程与每一个选项设置的原因。笔者选择的插件与设置的选项一个合格的编辑器需要什么?在配置v......
  • Linux 环境下安装并配置 git
    Linux环境下安装并配置git本篇记录笔者配置git的全部流程。笔者使用Win10WSL下的Debian12。安装gitsudoapt-getinstallgit#sudoapt-getinstallgit-all笔者选择了git包,根据Debian网站,二者区别如下:Gitprovidesthegitmaincomponentswithminima......
  • [Kyanan]配置靶场
    DVWAphp_dest/php.ini;包含路径,删除注释extension=gdallow_url_fopen=Onallow_url_include=OnDVWA/config/config.inc.php$_DVWA['db_user']='dvwa';$_DVWA['db_password']='toor';$_DVWA['recaptcha_public......
  • SharePoint Online 配置列表验证
    前言以前,我们做SharePoint列表的时候,经常会发现有开始时间、结束时间这样的,但是限制开始时间小于结束时间就很不方便。正文1.这里,我们就需要用到列表验证了,如下图:2.去到列表设置,找到验证设置,如下图:3.在这里可以进行条件设置,如下图:4.演示测试......