// Можем работать только с array, длина его неизвестна:
const array = [ajax, ajax, ajax, ..., ajax]
 
// Что должны получить?
Promise.resolve()
	.then(array[0]) // 15:00:00
	.then(array[1]) // 15:00:01
	.then(array[2]) // 15:00:02
	.then(array[3]) // 15:00:03
	.then(array[4]) // 15:00:04
 
// Код пишем ниже:

**Ответ

const array = [ajax1, ajax2, ajax3 /* ... */, , ajaxN];
 
// Функция для выполнения асинхронной операции по индексу в массиве
const executeAsyncOperation = (index) => {
  if (index >= array.length) {
    return Promise.resolve(); // Возвращаем завершенный промис, если достигнут конец массива
  }
 
  const asyncOperation = array[index];
 
  return asyncOperation() // Выполняем асинхронную операцию
    .then(() => {
      // Переходим к следующей операции с увеличением индекса
      return executeAsyncOperation(index + 1);
    });
};
 
// Запускаем выполнение операций, начиная с первого элемента массива
executeAsyncOperation(0)
  .then(() => {
    console.log("Все операции завершены");
  })
  .catch((error) => {
    console.error("Произошла ошибка:", error);
  });

Назад