1.6Kпросмотров
48.4%от подписчиков
13 февраля 2026 г.
📷 ФотоScore: 1.8K
Простой пример debounce в JavaScript 1️⃣ Debounce — это техника, которая ограничивает частоту вызова функции. Проще: функция выполнится только после того, как пользователь «перестанет дёргать» событие. 🟣Представим, что нам нужно отправлять запрос на сервер при вводе текста в input, но не на каждый символ: function debounce(fn, delay) { let timeout; return function (...args) { clearTimeout(timeout); timeout = setTimeout(() => { fn.apply(this, args); }, delay); };
} const input = document.querySelector('input'); input.addEventListener( 'input', debounce((e) => { console.log('Отправляем запрос:', e.target.value); }, 500)
); 2️⃣ Что происходит в этом коде? 🟣При каждом вводе символа очищается предыдущий таймер через clearTimeout. 🟣Создаётся новый таймер на delay миллисекунд. 🟣Если пользователь продолжает печатать — таймер постоянно сбрасывается. 🟣Функция выполнится только тогда, когда пользователь перестанет вводить текст на 500 мс. В итоге мы не спамим сервер десятками запросов, а отправляем один — когда пользователь закончил ввод. 👍 — если было полезно! 🧑💻 Frontend Lab