„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 14.11.2024
Durchsuche:232

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-Strings:

var urls = ['1.txt', '2.txt', '3.txt']; // Text files containing "one", "two", "three"

Die gewünschte Ausgabe ist ein Array mit Textinhalten:

var text = ['one', 'two', 'three'];

Mit Promise.all können Sie mehrere asynchrone Vorgänge verketten. In diesem Fall kann es verwendet werden, um zunächst jede URL abzurufen und anschließend den Text aus jeder Antwort zu extrahieren:

Promise.all(urls.map(url => fetch(url)))
  .then(responses =>
    Promise.all(responses.map(res => res.text()))
  )
  .then(texts => {
    // ...
  });

Im obigen Code wird Promise.all zweimal verwendet: einmal, um den Abruf aller URLs zu initiieren, und ein zweites Mal, um den Textinhalt aus jeder Antwort abzurufen.

An Ein alternativer Ansatz, der beide Operationen in einer einzigen Promise.all-Kette kombiniert, kann wie folgt erreicht werden:

Promise.all(urls.map(url =>
  fetch(url)
    .then(resp => resp.text())
))
.then(texts => {
  // ...
});

Darüber hinaus können Sie diesen Code mit async/await weiter vereinfachen:

const texts = await Promise.all(urls.map(async url => {
  const resp = await fetch(url);
  return resp.text();
}));

Beide dieser Ansätze nutzen Promise.all effektiv, um das gewünschte Ergebnis zu erzielen, indem ein Array von URLs abgerufen und der zugehörige Textinhalt extrahiert wird.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3