Lodash Debounce没有防抖

12 浏览
0 Comments

Lodash Debounce没有防抖

我正在尝试使用Lodash来对一个函数进行防抖操作,但在调用该函数时,并没有看到任何防抖的效果。与我在Stack Overflow或Google上看到的其他错误不同,我的问题似乎不是因为没有调用_.debounce返回的函数。

我的当前简单实现如下(在Angular和CoffeeScript中):

  s.search = -> _.debounce( s._makeSearchRequest, 1000 )()
  s._makeSearchRequest = -> console.log("making search request")

在JS中,我认为应该是这样的:

  s.search = function() { _.debounce( s._makeSearchRequest, 1000 )() }
  s._makeSearchRequest = function() { console.log("making search request") }

我通过在输入框中输入内容来运行s.search(),如果我快速输入一堆无关紧要的内容,控制台会在每次按键时打印出"making search request",每秒打印很多次 - 这表明根本没有进行防抖。

有没有什么想法,我做错了什么?

0