Реализовать декоратор callLimit(fn, limit, callback), который ограничивает число вызовов функции. Принимает: функцию для декорирования, максимальное количество вызовов, колбэк, вызываемый при последнем вызове (опционально). У возвращаемой функции должен быть метод reset для перезагрузки счётчика в начальное положение.

javascript function callLimit(fn, limit) { let count = 0;

Короткий ответ

Что ответить на собеседовании

javascript function callLimit(fn, limit) { let count = 0;

Подробный разбор

Ответ с пояснениями

javascript function callLimit(fn, limit) { let count = 0;

function limited(...args) { if (count < limit) { count++; return fn(...args); } // Можно вернуть undefined или выбросить ошибку, если превышен лимит }

limited.reset = () => { count = 0; };

return limited; }

// Пример: const sayHello = () => console.log('Hello'); const limitedHello = callLimit(sayHello, 3);

limitedHello(); // Hello limitedHello(); // Hello limitedHello(); // Hello limitedHello(); // не вызовется

limitedHello.reset(); limitedHello(); // Hello

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее