@nomta

Как работает debounce?

Не понимаю, как работает lodash debounce. Нужно, чтобы функция вызывалась не чаще, чем раз в n миллисекунд. Например, пользователь вводит значение в инпут, по мере ввода должна вызываться функция обработки ввода, но не чаще, чем, допустим, раз в 1000 ms:
debounce((value) => {
    console.log(value)
}, 1000)(value)

Но вместо этого функция вызывается на каждый ввод, для каждого символа, просто с задержкой в 1000ms. Т.е., пользователь успел за секунду ввести слово длиной в 7 символов - функция вызовется через секунду все 7 раз. Т.е., по сути это обычный setTimeout.
Как добиться, чтобы функция вызывалась только один раз в указанный промежуток времени?
(как написать свою реализацию, понятно, но, по идее, lodash функция должна так работать?)
  • Вопрос задан
  • 206 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Ты не правильно используешь. https://docs-lodash.com/v4/debounce/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы