Back to questions
Simbirsoft
Middle
1
function debounce(callback, delay) {}
Companies where asked
Answer from AI
sobes.tech 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 мс.