>  기사  >  웹 프론트엔드  >  Promise.race() 및 async-await가 JavaScript로 설명되어 있나요?

Promise.race() 및 async-await가 JavaScript로 설명되어 있나요?

WBOY
WBOY앞으로
2023-09-08 22:49:071436검색

在 JavaScript 中解释 Promise.race() 和 async-await ?

이 튜토리얼에서는 Promise.race() 메서드에 대해 알아봅니다. race() 메서드의 이름에서 알 수 있듯이 race() 메서드에 인수로 전달된 Promise는 경주를 수행합니다.

따라서 먼저 해결된 Promise는 race() 메소드에 의해서만 실행되고 다른 Promise는 절대 실행되지 않습니다.

Promise.race()

JavaScript의 Promise.race 메소드를 사용하면 일련의 첫 번째 Promise가 이행되거나 거부될 때까지 기다리고, 발생하는 경우 결과나 오류를 처리할 수 있습니다. 입력 약속 중 하나가 이행되거나 거부되면 이행되거나 거부된 약속과 해당 약속의 가치 또는 이유를 반환합니다.

사용자는 첫 번째로 확정된 Promise를 실행하기 위해 다음 구문에 따라 promise.race() 메서드를 사용할 수 있습니다.

으아아아

위 구문에서 Promise.race() 메서드는 iterable을 첫 번째 매개변수로 사용하고 "then" 블록 내에서 성공적으로 실행된 Promise의 응답을 처리할 수 있습니다.

여기 iterable은 그 안에 있는 약속을 실행하기 위한 약속 집합과 같은 반복 가능한 개체를 먼저 해결합니다.

문법

JavaScript에서 async-await와 함께 Promise.race 메서드를 사용하는 방법에 대한 구문은 다음과 같습니다.

으아아아

여기서 promise1, promise2 등이 여러분이 기다리고 싶은 약속입니다. Promise.race 메소드는 해결되거나 거부될 첫 번째 입력 Promise의 값 또는 이유가 포함된 해결되거나 거부된 Promise를 반환합니다.

비동기 함수 예제에서는 try/catch 문을 사용하여 오류 조건을 처리합니다. 여기서 입력 약속이 거부되면 catch 블록이 실행됩니다.

예 1

이 예에서는 여러 Promise를 생성하고 Promise 내에 타이머를 설정하여 이를 해결하거나 거부합니다. Race() 메소드에 인수로 Promise 배열을 전달했습니다.

출력에는 타이머가 없기 때문에 race() 메서드가 거부된 Promise를 실행하는 것으로 표시됩니다. 따라서 race() 메소드는 거부되거나 해결되더라도 조기에 이행되는 첫 번째 Promise를 실행합니다.

으아아아

예 2

이 예에서는 다른 API를 사용하고 fetch 메소드를 사용하여 약속합니다. 요청이라는 일련의 약속이 있습니다.

모든 요청을 해결하기 위해 race() 메소드를 사용합니다. 어떤 Promise가 먼저 해결되든 관계없이 "then" 블록에 URL을 인쇄합니다.

으아아아

race() 메서드는 Promise가 거부되거나 해결되었더라도 사용자가 첫 번째 해결된 Promise의 응답을 사용해야 하는 경우 사용할 수 있습니다. 사용자가 처음으로 성공적으로 해결된 Promise의 결과를 사용해야 하는 경우 Promise.any() 메서드를 사용해야 합니다.

위 내용은 Promise.race() 및 async-await가 JavaScript로 설명되어 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제