並列か逐次: Node.js の Promise.All() の性質
Promise の実行プロセスに関して疑問が生じます。 Node.js の all()。 Promise は逐次的に処理されますか? 同時に処理されますか?
Q1: 逐次処理または並列処理?
ドキュメントには曖昧な余地があるため、明確にしましょう: Promise.all(iterable)一連の Promise (p1.then(p2).then(p3)... など) のようにすべての Promise を順番に実行したり、すべてを並行して実行したりすることはありません。むしろ、複数の Promise の解決を待ちます。
Q2: 逐次実行の実現
Promise.all() に逐次機能がない場合、代替手段はありますか?
既存の一連の Promise については、順次実行を強制するネイティブな方法はありません。ただし、非同期関数の反復可能がある場合は、Array::reduce:
iterable.reduce((p, fn) => p.then(fn), Promise.resolve())
以上が## Promise.all() は Promise を順番に実行しますか、それとも並行して実行しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。