配列からパラメータを渡して実行をシーケンスする方法は?
配列から渡されるパラメーターによる Promise の順次実行
値の配列 (例: myArray) があり、Promise を実行する必要があるシナリオを考えてみましょう。ベースの関数 (myPromise など) を順番に実行し、各配列要素をパラメータとして渡します。 Promise が正しい順序で解決されることを保証する「一時停止可能なループ」を実装するにはどうすればよいですか?
解決策: Promise の反復実行
順次実行を実現するには、Promise チェーンを組み合わせて使用できます。そして反復処理。これを行う方法を示すコード スニペットを次に示します。
myArray.reduce( (p, x) => p.then(() => myPromise(x)), Promise.resolve() )
このアプローチでは、reduce メソッドを利用して配列を反復処理し、一連のチェーンされた Promise を作成します。各 Promise は前の Promise が完了した後に解決され、目的の実行シーケンスが効果的に強制されます。
非同期関数の代替
非同期関数をサポートしている場合は、forEachSeries を使用したよりクリーンなソリューションが利用可能です。 function:
const forEachSeries = async (iterable, action) => { for (const x of iterable) { await action(x) } } forEachSeries(myArray, myPromise)
この関数は配列を反復処理し、各要素で一時停止し、次の反復に進む前に Promise が解決されるのを待ちます。
結果の収集
Promise の戻り値を配列に収集する必要がある場合は、forEachSeries 関数を次のように変更できます。
const mapSeries = async (iterable, fn) => { const results = [] for (const x of iterable) { results.push(await fn(x)) } return results }
この関数は配列を反復処理し、Promise の結果を結果に蓄積します。配列を取得し、最後に収集された結果を返します。
以上が配列からパラメータを渡して実行をシーケンスする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









