ホームページ > 記事 > ウェブフロントエンド > Promise.all を使用して URL の配列からテキスト データを取得して解析するにはどうすればよいですか?
Promise.all を使用した URL の配列の取得
Promise.all を利用して、一連の URL からテキスト データの配列を取得するにはは適切なアプローチです。このタスクを効果的に実行する方法は次のとおりです:
URL 文字列の配列があるとします:
<code class="js">var urls = ['1.txt', '2.txt', '3.txt']; // Text files containing "one", "two", "three"</code>
必要な出力はテキスト コンテンツの配列です:
<code class="js">var text = ['one', 'two', 'three'];</code>
Promise.all を使用すると、複数の非同期操作を連鎖させることができます。この場合、最初に各 URL を取得し、その後各応答からテキストを抽出するために使用できます。
<code class="js">Promise.all(urls.map(url => fetch(url))) .then(responses => Promise.all(responses.map(res => res.text())) ) .then(texts => { // ... });</code>
上記のコードでは、Promise.all が 2 回使用されています。1 回目はすべての URL の取得を開始するために使用されます。 URL、そして 2 度目に各応答からテキスト コンテンツを取得します。
両方の操作を単一の Promise.all チェーンに結合する別のアプローチは、次のように実現できます。
<code class="js">Promise.all(urls.map(url => fetch(url) .then(resp => resp.text()) )) .then(texts => { // ... });</code>
さらに、async/await を使用してこのコードをさらに簡素化できます:
<code class="js">const texts = await Promise.all(urls.map(async url => { const resp = await fetch(url); return resp.text(); }));</code>
これらのアプローチはどちらも Promise.all を効果的に利用して、URL の配列を取得し、関連するテキスト コンテンツを抽出するという望ましい結果を達成します。
以上がPromise.all を使用して URL の配列からテキスト データを取得して解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。