Реализуйте функцию rateLimiter(fn, limit, ms)
, которая принимает:
Функция должна возвращать новую обёртку, которая не позволит вызывать fn чаще, чем limit раз за ms.
Все лишние вызовы должны быть отклонены и возвращать строку "Rate limit exceeded"
.
function apiRequest(id) { return `Запрос ${id} выполнен`; } const limitedApi = rateLimiter(apiRequest, 2, 1000); console.log(limitedApi(1)); // "Запрос 1 выполнен" console.log(limitedApi(2)); // "Запрос 2 выполнен" console.log(limitedApi(3)); // "Rate limit exceeded" setTimeout(() => { console.log(limitedApi(4)); // "Запрос 4 выполнен" }, 1100);