美文网首页
实现节流(_.throttle())-简单版

实现节流(_.throttle())-简单版

作者: 凉城十月 | 来源:发表于2020-11-21 01:01 被阅读0次
方法1: 使用underscore.js的throttle方法,设定时间间隔触发事件
_.throttle( func, wait, [options]){
  
}

创造并返回一个像节流阀一样的函数,当重复调用函数的时候,至少每隔wait毫秒调用一次该函数。

方法2:自己实现简单的throttle
function throttle(func, wait){
  let prev, timer
  return function fn(){
    let curr = Date.now()
    let diff = curr - prev
     //如果是第一次或者是间隔的时间比设定的时间长
    if(!prev || diff >= wait){
    //那么就直接执行
      func()
      prev = curr
    }else if(diff < wait){ //如果间隔的时间比设定的时间短,那么就等到设定的时间再执行
      window.clearInterval(timer) //每次之前都将定时器打破
      timer = setTimeout(fn, wait - diff)
    }
  }
}

相关文章

网友评论

      本文标题:实现节流(_.throttle())-简单版

      本文链接:https://www.haomeiwen.com/subject/ebhkuktx.html