Последовательное выполнение промисов
СреднееНапишите функцию sequentialPromises(items, asyncFn), которая выполняет асинхронную функцию для каждого элемента массива последовательно (один за другим).
Требования:
- Принимает массив элементов и асинхронную функцию
- Вызывает asyncFn для каждого элемента по очереди
- Следующий вызов начинается только после завершения предыдущего
- Возвращает массив всех результатов в порядке выполнения
- Если любой вызов падает - останавливается и бросает ошибку
- Пустой массив возвращает []
Пример:
const items = ['item1', 'item2', 'item3'];
const postData = async (item) => {
await delay(100);
return `posted: ${item}`;
};
const results = await sequentialPromises(items, postData);
// results = ['posted: item1', 'posted: item2', 'posted: item3']
// Всего ~300ms (100ms * 3)JavaScript•UTF-8
Run your code to see results.
Click the Run button above
Mobile view - please use desktop for better experience