防抖 多函数调用

   let debonceObj = new Object()
	function debounce(func, args, wait) {
		let funString = func.toString()
		if (debonceObj[funString]) {
			clearTimeout(debonceObj[funString])
			delete debonceObj[funString]
		}

		let timeoutNumber = setTimeout(() => {
			// 执行函数调用
			func.call(this, args)
		}, wait)

		debonceObj[funString] = timeoutNumber
	}

	debounce(add, 0, 5000)
	debounce(add2, 1, 1000)

	function add(num) {

		console.log(num)
	}
	function add2(num2) {
		console.log(num2)
	}

防抖函数

最近项目中遇到一个问题是切换不同窗口是请求多个接口,如果用户操作过快会出现页面卡顿的问题,主要是多个请求未完成的情况下又开始重新请求,防抖函数是做什么就不赘述了,本想在百度上找一篇简单的防抖直接使用,查了半天全都一样并且只适用于一个函数的调用 ,多个函数使用的话会互相影响,所以自己写了一个,如果有不足之处希望各位看官指正,同时也告诫各位程序员小伙伴,千万别看见了就复制,整个博客 CDN 上有太多的重复性、过时性的文章百无一用、劳而无功、尘垢粃糠、味同嚼蜡。真难

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值