Async/Await を使用した配列操作の同時実行
特定のデータ セット内で、並列処理によりパフォーマンスが大幅に向上します。 JavaScript の async/await 構文を利用することで、配列操作を効率的に同時に実行できます。ただし、このアプローチを Array.map と統合すると、いくつかの課題が生じる可能性があります。
問題を理解する
以下のコードを考えてみましょう。
var arr = [1,2,3,4,5]; var results: number[] = await arr.map(async (item): Promise<number> => { await callAsynchronousOperation(item); return item + 1; });
Anここでエラーが発生します:「タイプ 'Promise
問題の解決
これを解決するには、変換する必要があります。待機する前に、Promise の配列を 1 つの Promise にまとめます。これは、Promise.all を使用して実現できます。
var results: number[] = await Promise.all(arr.map(async (item): Promise<number> => { await callAsynchronousOperation(item); return item + 1; }));
マップされた配列で Promise.all を呼び出すことにより、マップ関数内のすべての非同期操作の完了を表す単一の Promise を作成します。これにより、async/await オペレーターが結果を適切に処理し、値の配列を返すことができます。
結論
async/await を Array.map と統合するには、次の注意深い処理が必要です。オブジェクトを約束します。 await の基本的な動作を理解し、Promise.all ユーティリティを活用することで、開発者は配列に対して効率的に同時操作を実行できます。このアプローチにより、効率的なデータ処理とパフォーマンスの最適化の新たな可能性が開かれます。
以上がJavaScript での同時配列操作のために Array.map で Async/Await を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。