【问题标题】:_lodash debounce not debouncing_lodash debounce 不去抖动
【发布时间】:2017-04-25 07:42:03
【问题描述】:

这是我的代码(角度 2):

<button (click)="click()">GO!</button>

debouncedFunc = _.debounce(()=>{
    console.log('bam')
  }, 1000, {"leading":true})

click(){
  this.debouncedFunc()
}

这会触发每个事件而不会反弹。我只想每秒达到我的端点最大值并忽略所有其他端点。我错过了什么?谢谢。

【问题讨论】:

    标签: javascript angular lodash debouncing


    【解决方案1】:

    发布后 10 秒后想通了。有趣的是它是如何工作的。所有选项都需要声明:

     <button (click)="click()">GO!</button>
    
     debouncedFunc = _.debounce(()=>{
       console.log('bam')
     }, 1000, {"leading":true,"trailing":false})
    
     click(){
       this.debouncedFunc()
     } 
    

    【讨论】:

    • 请注意,在 lodash 声明之后直接调用 debounce 函数(这会让您跳过该分配步骤)not 似乎有效。我想删掉一个步骤,但似乎你必须先分配它。
    • 你必须先分配它,因为去抖动返回一个函数,当你不使用返回的函数时,你会在每次点击时创建一个新的去抖动函数
    猜你喜欢
    • 2015-05-21
    • 2021-11-27
    • 2016-04-05
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多