Функция дебаунса на JavaScript
Функция дебаунса для уменьшения количества вызовов функции.
/**
* Функция дебаунса для уменьшения количества вызовов функции.
* @param {Function} func - Функция, которую нужно задебаунсить.
* @param {number} delay - Задержка в миллисекундах.
* @return {Function} - Задебаунсенная функция.
*/
function debounce(func, delay) {
let timeoutId;
return function(...args) {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
// Пример использования:
window.addEventListener('resize', debounce(() => {
console.log('Изменение размера окна');
}, 300));