Когда нужен debounce? Простой ответ - всегда, когда вы не хотите выполнять какую-то функцию слишком часто. Например, пользователь что-то вводит в текстовое поле, и, на основании введенных символов, вы хотите показать ему какие-то подсказки. Подсказки вы запрашиваете с сервера. Нет смысла выполнять запрос к серверу пока пользователь продолжает печатать. Если он печатает достаточно быстро, то при каждом нажатии вы будете отправлять новый запрос - это лишняя нагрузка на сервер и проблемы, связанные с асинхронностью запросов, в которые я сейчас не буду углубляться. Гораздо логичнее дождаться, когда пользователь перестанет печатать и после этого отправить запрос. Для этого нам и понадобится debounce. Как он работает? Debounce как бы откладывает выполнение функции. Вы указываете функцию и задержку, после которой надо выполнить эту функцию. Если задержка ещё не закончилась, а к функции обратились ещё раз, то функция не выполняется, а задержка начинает отсчитываться заново. Это идеально подх
Vue.js и lodash. Красота debounce при заполнении текстовых полей.
26 февраля 201926 фев 2019
708
1 мин