您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

09.debounce 方法

使用方便有用的方法,以减少代码行数,提高我们的工作效率,增加我们的摸鱼时间。

debounce 方法

创建一个debdeprecated函数,该函数将延迟调用所提供的函数,直到自上次调用该函数后至少经过ms毫秒。

debounce 想必有开发经验前端基本都用过,在这里就不多解释,直接来看实现。

实现

const debounce = (fn, ms = 0) => {
  let timeoutId;
  return function(...args) {
     clearTimeout(timeoutId);
  }
}

说明一下:

  • 每次调用debounced函数时,用``clearTimeout()清除当前的待定的timeout,并使用setTimeout()创建一个新的timeout,将调用函数的时间推迟到至少ms毫秒之后。

  • 使用function.prototype.apply()this上下文应用于函数并提供必要的参数。

  • 省略第二个参数,ms,将使用默认值0ms

大白话翻译一下就是,如果当前函数被调用,在指定ms时间内,如果还有函数进来,则清到已定时的函数,重新生成一个新的定时


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进