Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich mit Promise.all Textdaten aus einem Array von URLs abrufen und analysieren?

Wie kann ich mit Promise.all Textdaten aus einem Array von URLs abrufen und analysieren?

Susan Sarandon
Susan SarandonOriginal
2024-10-26 16:16:30824Durchsuche

How to Fetch and Parse Text Data from an Array of URLs with Promise.all?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn