Я пытаюсь отменить функцию с помощью Lodash, и, хотя она вызывает функцию, она, похоже, не отрицает ее вообще. Моя проблема не похожа на ту, что я видел в других местах на SO или Google (обычно они не _.debounce
функцию, возвращаемую _.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()
, набирая в поле ввода, и если я набираю тарабарщину очень быстро, консоль выдает "выполнение поискового запроса" при каждом нажатии клавиши, так много раз в секунду, указывая, что это не было дебютировать на всех.
Есть идеи, что я делаю не так?