Обещание в цикле forEach - все запускается одновременно

В приложении Node мне нужно выполнять итерацию по некоторым элементам синхронно, но некоторые операции внутри цикла являются асинхронными. Мой код сейчас выглядит так:

someAPIpromise().then((items) => {
   items.forEach((item) => {
      Promise.all[myPromiseA(item), myPromiseB(item)]).then(() => {
         doSomethingSynchronouslyThatTakesAWhile();
      });
    }
}

Это творит чудеса, когдаitems это массив из 1. Но, если есть более одного элемента,promise.all() просто мгновенно отключится для каждого элемента в массиве, не дожидаясь окончания операции в цикле.

Все это говорит ... как я могу гарантировать, что вся операция для каждого элемента в массиве выполняется синхронно (даже если некоторые операции являются асинхронными и возвращают обещание)?

Спасибо!

N

Ответы на вопрос(5)

Ваш ответ на вопрос