JS防抖函数支持多个函数调用

关于js的防抖,业界有lodash函数工具库可以参考,也有很多同学提供了setTimeout的方式进行处理。不过就工具类是否使用以及使用哪一方的,都和个人以及团队的喜好相关,我们更关注其原理而非工具本身。

本文根据setTimeout的机制进行了调整,用以适用在公司项目开发中,提供以下方法

说明:md5_hex方式是md5算法对数据进行hash,可以自行下载https://download.csdn.net/download/u010899138/12614308

1.debounce函数

立即执行,适用于页面进入后立即加载数据,在wait时间内,fun的调用不会再执行

调用示例

// 默认执行后,在1500毫秒内再次执行只会输出一次debounce
CommonUtil.debounce(
  () => {
    console.log('debounce')
  }
)
// 第二次调用,只会有一个debounce执行
CommonUtil.debounce(
  () => {
    console.log('debounce')
  }
)

1.debounce函数

等待wait时间后,执行fun的调用,适用于输入框输入自动获取结果的场景

在wait时间内再次执行,会重置wait的等待时间

调用示例

// 默认在1500毫秒后输出debounce
CommonUtil.debounce(
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值