Abrufen eines Arrays von URLs mit Promise.all
Um ein Array von Textdaten aus einem Satz von URLs abzurufen, verwenden Sie Promise.all ist ein geeigneter Ansatz. So erledigen Sie diese Aufgabe effektiv:
Angenommen, Sie haben ein Array von URL-Zeichenfolgen:
<code class="js">var urls = ['1.txt', '2.txt', '3.txt']; // Text files containing "one", "two", "three"</code>
Die gewünschte Ausgabe ist ein Array von Textinhalten:
<code class="js">var text = ['one', 'two', 'three'];</code>
Mit Promise.all können Sie mehrere asynchrone Vorgänge verketten. In diesem Fall kann es verwendet werden, um zuerst jede URL abzurufen und anschließend den Text aus jeder Antwort zu extrahieren:
<code class="js">Promise.all(urls.map(url => fetch(url))) .then(responses => Promise.all(responses.map(res => res.text())) ) .then(texts => { // ... });</code>
Im obigen Code wird Promise.all zweimal verwendet: einmal, um den Abruf aller zu initiieren URLs und ein zweites Mal, um den Textinhalt aus jeder Antwort abzurufen.
Ein alternativer Ansatz, bei dem beide Vorgänge in einer einzigen Promise.all-Kette kombiniert werden, kann wie folgt erreicht werden:
<code class="js">Promise.all(urls.map(url => fetch(url) .then(resp => resp.text()) )) .then(texts => { // ... });</code>
Darüber hinaus können Sie diesen Code mithilfe von async/await weiter vereinfachen:
<code class="js">const texts = await Promise.all(urls.map(async url => { const resp = await fetch(url); return resp.text(); }));</code>
Beide dieser Ansätze nutzen Promise.all effektiv, um das gewünschte Ergebnis des Abrufens eines Arrays von URLs und des Extrahierens des zugehörigen Textinhalts zu erzielen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Promise.all Textdaten aus einem Array von URLs abrufen und analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!