Sobes.tech
Назад к задачам
Intern — Middle
26

Функция debounce для отложенного вызова

Компании, где спрашивали:

КодтехКодтех
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо создать функцию debounce, принимающую на вход целевую функцию fn и длительность задержки timeout (в миллисекундах). Функция должна возвращать новую обёртку, которая будет вызывать fn только после того, как с момента последнего обращения к ней пройдет указанный интервал. Если обёртка вызывается повторно до истечения тайм‑аута, текущий таймер отменяется и запускается заново.

function debounce(fn, timeout) {
    // Реализация
}

const fn = debounce(() => console.log('fn'), 300);
fn();
fn();
fn();
// Ожидаемый вывод: 'fn' (один раз через 300 мс после последнего вызова)