ホームページ  >  記事  >  ウェブフロントエンド  >  ## Promise.all() は Promise を順番に実行しますか、それとも並行して実行しますか?

## Promise.all() は Promise を順番に実行しますか、それとも並行して実行しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 11:27:29587ブラウズ

## Does Promise.all() Execute Promises Sequentially or in Parallel?

並列か逐次: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。