Timeout для async функции
СреднееНапишите функцию asyncTimeout(fn, delay), которая принимает асинхронную функцию и время таймаута в миллисекундах.
Требования:
- Возвращает новую функцию с ограничением по времени
- Если функция выполнилась вовремя - возвращает её результат
- Если превысила таймаут - отклоняется с ошибкой "Timeout exceeded"
- Должна передавать все аргументы в оригинальную функцию
Пример:
const slowFn = async (n) => {
await sleep(1000);
return n * 2;
};
const fastFn = asyncTimeout(slowFn, 500);
await fastFn(5); // Error: Timeout exceededJavaScript•UTF-8
Run your code to see results.
Click the Run button above
Mobile view - please use desktop for better experience