Promise.all을 사용하여 URL 배열 가져오기
Promise.all을 활용하여 URL 집합에서 텍스트 데이터 배열을 검색하려면 적합한 접근 방식입니다. 이 작업을 효과적으로 수행하는 방법은 다음과 같습니다.
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