function debounce(fn, delay) { let timer; return function(...args) { clearTimeout(timer); timer = setTimeout(() => fn.apply(this, args), delay); }; }. Каждый вызов сбрасывает таймер. Функция выполнится только через delay мс после последнего вызова. Для поиска: const search = debounce((query) => fetch("/api?q=" + query), 300). Продвинутая версия: leading опция (вызов на первом нажатии), cancel метод, flush для немедленного выполнения. Важно сохранять this контекст через apply.
Как реализовать функцию debounce?
Junior
346 просмотровAFK Offer AI
Почему Tailwind стал таким популярным?