>  기사  >  웹 프론트엔드  >  Promise.all을 사용하여 URL 배열에서 텍스트 데이터를 가져오고 구문 분석하는 방법은 무엇입니까?

Promise.all을 사용하여 URL 배열에서 텍스트 데이터를 가져오고 구문 분석하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-26 16:16:30721검색

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

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은 두 번 사용됩니다. 한 번은 모든 URL 가져오기를 시작합니다. 두 번째로 각 응답에서 텍스트 콘텐츠를 가져옵니다.

두 작업을 단일 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.