Назад к задачам
КодтехПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Intern — Middle
26
Функция debounce для отложенного вызова
Компании, где спрашивали:
Условие задачи
Необходимо создать функцию debounce, принимающую на вход целевую функцию fn и длительность задержки timeout (в миллисекундах). Функция должна возвращать новую обёртку, которая будет вызывать fn только после того, как с момента последнего обращения к ней пройдет указанный интервал. Если обёртка вызывается повторно до истечения тайм‑аута, текущий таймер отменяется и запускается заново.
function debounce(fn, timeout) {
// Реализация
}
const fn = debounce(() => console.log('fn'), 300);
fn();
fn();
fn();
// Ожидаемый вывод: 'fn' (один раз через 300 мс после последнего вызова)