Middle
функция debounce(callback, delay) {}
sobes.tech AI
Отговор от AI
Функцията debounce позволява да ограничи честотата на извикване на предадената функция callback. Тя забавя изпълнението на callback, докато не мине зададеният интервал delay без нови извиквания. Това е полезно, например, при обработка на събития за въвеждане или превъртане, за да не се извиква функцията твърде често.
Пример за реализация на JavaScript:
function debounce(callback, delay) {
let timerId;
return function(...args) {
clearTimeout(timerId);
timerId = setTimeout(() => {
callback.apply(this, args);
}, delay);
};
}
// Използване:
const debouncedFunc = debounce(() => console.log('Обаждане!'), 300);
window.addEventListener('resize', debouncedFunc);
В този пример callback ще бъде извикан само след като събитието resize спре да се случва за 300 ms.