«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как получить и проанализировать текстовые данные из массива URL-адресов с помощью Promise.all?

Как получить и проанализировать текстовые данные из массива URL-адресов с помощью Promise.all?

Опубликовано 14 ноября 2024 г.
Просматривать:656

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

Извлечение массива URL-адресов с помощью Promise.all

Чтобы получить массив текстовых данных из набора URL-адресов, используя Promise.all это подходящий подход. Вот как эффективно выполнить эту задачу:

Предположим, у вас есть массив строк URL-адресов:

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

Желаемый результат — массив текстового содержимого:

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

Использование Promise.all позволяет объединять несколько асинхронных операций в цепочку. В этом случае его можно использовать для сначала получения каждого URL-адреса, а затем извлечения текста из каждого ответа:

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

В приведенном выше коде Promise.all используется дважды: один раз для инициации получения всех URL-адресов и второй раз для получения текстового содержимого из каждого ответа.

An альтернативный подход, объединяющий обе операции в одну цепочку Promise.all, может быть реализован следующим образом:

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

Кроме того, вы можете еще больше упростить этот код, используя async/await:

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

Оба этих подхода эффективно используют Promise.all для достижения желаемого результата: получения массива URL-адресов и извлечения соответствующего текстового содержимого.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3