Ich möchte diesen Punkt klarstellen, da die Dokumentation darüber nicht zu klar ist.
Q1: Ist die Promise.all(iterable)Verarbeitung aller Versprechungen der Reihe nach oder parallel? Oder genauer gesagt, ist es das Äquivalent zu verketteten Versprechungen wie
p1.then(p2).then(p3).then(p4).then(p5)....
oder ist es eine andere Art von Algorithmus , bei dem alle p1, p2, p3, p4, p5etc. zur gleichen Zeit (parallel) genannt werden und die Ergebnisse werden, sobald alle resolve (oder ein Spuck) zurück?
F2: Wenn Promise.allparallel ausgeführt wird, gibt es eine bequeme Möglichkeit, eine iterierbare Sequenz sequentiell auszuführen?
Hinweis : Ich möchte nicht Q oder Bluebird verwenden, sondern alle nativen ES6-Spezifikationen.
Promise.allsie parallel ausgeführt werden.
node.jsund io.jsda ich es hier benutze. Also ja, die V8-Implementierung, wenn Sie so wollen.
Promise.all.
new Promise(a).then(b); c();a wird zuerst ausgeführt, dann c, dann b. Es ist nicht Promise.all, das diese Versprechen ausführt, sondern nur, wenn sie gelöst werden.