Я хотел бы прояснить этот момент, поскольку документация не слишком ясна об этом;
Q1: Является ли Promise.all(iterable)
обрабатывать все promises последовательно или параллельно? Или, точнее, это эквивалент запуска прикованного promises как
p1.then(p2).then(p3).then(p4).then(p5)....
или это какой-то другой алгоритм, в котором все p1
, p2
, p3
, p4
, p5
и т.д. вызывают одновременно (параллельно) и результаты возвращаются как только все разрешится (или отклоняется)?
Q2: Если Promise.all
работает параллельно, существует ли удобный способ запуска последовательного последовательного преобразования?
Примечание. Я не хочу использовать Q или Bluebird, но все собственные спецификации ES6.