動的配列の Promise を順番に実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-20 14:58:30
オリジナル
489 人が閲覧しました

How to Execute Promises Sequentially for Dynamic Arrays?

動的に設定された配列を使用して Promise を順次実行する

配列を操作する場合、多くの場合、Promise 間でパラメーターを渡しながら、要素ごとに一連のタスクを順番に実行する必要があります。

Promise の順次実行

これを実現するには、ネストされた一連の .then() 呼び出しを使用できます。ただし、配列のサイズが大きくなるにつれて、このアプローチは煩雑で柔軟性がなくなります。

Reduce を使用したフォールド削減

簡潔な解決策は、.reduce() メソッドを使用して配列をシリーズに折りたたむことです。 Promise の数:

<code class="js">const promiseChain = myArray.reduce(
  (p, x) => p.then(() => myPromise(x)),
  Promise.resolve()
);</code>
ログイン後にコピー

ループ用の非同期関数

より保守しやすいアプローチは、配列を反復処理して各 Promise を順番に実行する非同期関数を使用することです:

<code class="js">const forEachSeries = async (iterable, action) => {
  for (const x of iterable) {
    await action(x);
  }
};

forEachSeries(myArray, myPromise);</code>
ログイン後にコピー

戻り値の収集

Promise の戻り値が必要な場合は、mapSeries 関数を少し変更して使用できます。

<code class="js">const mapSeries = async (iterable, fn) => {
  const results = [];

  for (const x of iterable) {
    results.push(await fn(x));
  }

  return results;
};</code>
ログイン後にコピー

このアプローチにより、次のような場合に柔軟性とコードの読みやすさが向上します。 Promise の動的配列を処理します。

以上が動的配列の Promise を順番に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!