Встречается на собеседованиях • сегодня
В чем разница между Throttling и Debouncing
Throttling и Debouncing — оба ограничивают частоту вызова функции, но работают по-разному.
Throttling гарантирует, что функция будет вызываться не чаще, чем раз в указанный интервал времени. Например, при скролле:
javascript
function throttle(func, delay) {
let lastCall = 0;
return function(...args) {
const now = new Date().getTime();
if (now - lastCall < delay) return;
lastCall = now;
return func(...args);
};
}Debouncing откладывает вызов функции до момента, когда с момента последнего события пройдет указанный интервал. Например, для поиска при вводе:
javascript
function debounce(func, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => func(...args), delay);
};
}Разница:
- Throttling — вызов через равные промежутки
- Debouncing — вызов только после паузы в событиях

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы