首页 > 其他分享 >Lodash _.debounce()用法及代码示例

Lodash _.debounce()用法及代码示例

时间:2023-09-14 10:34:08浏览次数:45  
标签:Function 1000ms Lodash 示例 debounce after debounced _.

Lodash _.debounce()用法及代码示例

Lodash是一个JavaScript库,可在underscore.js之上运行。 Lodash帮助处理数组,字符串,对象,数字等。

lodash中Function的_.debounce()方法用于创建一个反跳函数,该函数将给定的func延迟到自上次调用此反跳函数以来经过的指定等待时间(以毫秒为单位)之后。防反跳函数具有可用于取消延迟的函数调用的cancel方法和用于立即调用延迟的func的flush方法。

它还提供了一些选项,可用于暗示是否应在等待超时的前沿和/或后沿调用声明的函数。

注意:

  • 将使用给去抖动函数的最后一个参数来调用func。但是,对反跳函数的后续调用将返回上一个func调用的结果。
  • 当前导选项和尾随选项为true时,当且仅当在整个等待超时期间多次执行了去抖动函数时,才在超时的后沿调用func。
  • 当等待时间为0并且前导选项为false时,则func调用将推迟到下一个刻度。

用法:



_.debounce( func, wait, options )

参数:此方法接受上述和以下所述的三个参数:

  • func:该函数必须去抖动。
  • wait:这是调用将延迟的毫秒数。它是一个可选参数。默认值为0。
  • options:它是可用于更改方法行为的选项对象。它是一个可选参数。

options对象具有以下参数:

  • leading:它定义了超时前沿的调用。它是一个可选参数。默认值为false。
  • maxWait:它是函数被调用之前允许延迟的最大时间。它是一个可选参数。
  • trailing:它在超时的后沿定义调用。它是一个可选参数。默认值是true。

返回值:此方法返回新的去抖动函数。

范例1:在此示例中,由于等待时间为1000ms,因此可以在函数调用后1000m内再次输入REPL。

Javascript

// Requiring lodash library 
const _ = require('lodash'); 
  
// Using _.debounce() method 
// with its parameters 
var debounce_fun = _.debounce(function () { 
  console.log('Function debounced after 1000ms!'); 
  }, 1000); 
  
debounce_fun();
 

输出:

Function debounced after 1000ms!

范例2:在此示例中,循环只有在手动停止后才会停止。

Javascript

// Requiring lodash library 
const _ = require('lodash'); 
  
// Using _.debounce() method 
// with its parameters 
var debounce_fun = _.debounce(function() { 
  console.log('Function debounced after 1000ms!'); 
  }, 4, 1000, {'leading':false}); 
  
// Defining loop 
var loop = function() { 
    setTimeout(loop, 3) 
    debounce_fun(); 
}; 
  
// Calling loop to start 
loop();
 

输出:

Function debounced after 1000ms!
Function debounced after 1000ms!
Function debounced after 1000ms!
Function debounced after 1000ms!
Function debounced after 1000ms!
Function debounced after 1000ms!
Function debounced after 1000ms!
Function debounced after 1000ms!
.
.
.
.
// Will go on unless stopped manually

标签:Function,1000ms,Lodash,示例,debounce,after,debounced,_.
From: https://www.cnblogs.com/sexintercourse/p/17701820.html

相关文章

  • 关于 SAP CRM User Status 处理的示例 ABAP 代码
    源代码如下:*&---------------------------------------------------------------------**&ReportZSTATUS_INITIAL_LOAD*&---------------------------------------------------------------------**&*&----------------------------------------------......
  • VIM 零宽度(断言)匹配用法示例
    1.零宽度向左匹配(零宽度字符)@<=目标字符示例:查找左边是”ses“的字符“s” 2.零宽度向右匹配目标字符(零宽度字符)@=示例:查找右边是”isi“的字符”s“ ......
  • iptables简述及命令示例
    iptables:在Linux系统中,iptables不仅仅是一个服务或守护进程,它实际上是内核空间的一部分,用于处理网络包过滤和网络地址转换。这意味着,即使iptables服务没有运行,内核模块仍然会按照当前的iptables规则来处理网络数据包。iptables.service或者iptables-services通常用于......
  • 上位机使用JS SerialPort进行串口通信, 包含开发环境搭建和完整示例代码
    在嵌入式开发中,我们经常需要使用上位机(PC)与一些电路模块进行通信,用于获取一些传感器的数据,或者发送命令控制相应的电路模块。NodeJS目前支持使用SerialPort模块进行串口通信,本文主要介绍如何搭建测试开发环境和如何使用SerialPort进行串口通信。 开发前准备:1.下载安装NodeJS......
  • kunyu 工具的常见案例和示例命令
    kunyu工具的常见案例和示例命令:基本主机搜索:执行基本的主机搜索,以获取有关特定域或IP地址的信息。 SearchHostexample.com基本Web搜索:执行基本的Web搜索,以查找与特定查询条件相关的网站。 SearchWeb"vulnerabilitiesinWordPress"SSL证书搜索:搜索与指......
  • cmake基础示例:如何编译【跨平台】的动态库和应用程序
    示例代码首先看一下测试代码的全貌:mylib:只有一个源文件,编译输出一个动态库;myapp:也只有一个源文件,链接mylib动态库,编译输出一个可执行程序; mylib在mylib目录中,一共有3个文件:mylib.h,mylib.c以及CMakeLists.txt,内容分别如下://mylib/mylib.hw文件#ifndef_M......
  • 重构第一个示例
    《重构改善既有代码的设计》马丁富勒 第一章戏剧演出团原始代码invoices.json[{"customer":"BigCo","performances":[{"playId":"hamlet","audience":55},{"......
  • java 支持 超大上G,多附件上传示例解析
    ​ 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。先说下要求:PC端全平台支持,要求支持Windows,Mac,Linux支持所有浏览器。支持文件批量上传支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W......
  • 华为云ES导出数据脚本示例
      #!bash#接口用法#shexport-es-data.sh索引名称css密码cssIPindex=$1password=$2ip=$3value=$(curl-XPOST-uadmin:$2-k"https://${ip}:9200/${index}/_doc/_search?scroll=1m"-H'Content-Type:application/json'-d'{"siz......
  • 初学者学习Auto.js的示例和教程资源
    1.Auto.js官方文档:您可以前往Auto.js官方网站(https://hyb1996.github.io/AutoJs-Docs/#/)查看官方文档,其中包含了基本使用方法、API参考和示例代码等。2.Auto.js示例脚本:Auto.js官方文档中提供了一些示例脚本,您可以下载并运行这些脚本,以了解其基本用法和功能。3.Auto.js论坛:Auto.......