Sobes.tech
Back to tasks
Intern — Middle
25

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

Companies where asked:

КодтехКодтех
Get help with live coding in real time with Sobes Copilot
Task condition

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

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

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