Promise Throttle
Promise Throttle
Створіть обгортку throttle для асинхронних функцій з часовим обмеженням швидкості.
Вимоги:
- Реалізувати
throttleAsync, яка обгортає асинхронну функцію - Забезпечити виконання функції максимум раз на
intervalмілісекунд - Поставити в чергу виклики, що відбуваються під час охолодження
- Виконати виклики з черги після закінчення охолодження
- Підтримати скасування викликів з черги
Приклад:
const apiCall = async (data) => {
return `Processed: ${data}`;
};
const throttled = throttleAsync(apiCall, 1000);
throttled('A'); // Виконується негайно
throttled('B'); // В черзі, виконується через 1с
throttled('C'); // В черзі, виконується через 2с
Examples:
Input 1:
{"interval":100,"calls":[1,2,3]}Output 1:
[2,4,6]Loading editor...
Run your code to see results
Click the Run button above