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
366 просмотровAFK Offer AI
Что такое REST API?