본문 바로가기
Today I learned!/오늘 하루 배운 것, 기억할 것

[JS] Promise.race()

by sweesweet 2023. 5. 10.

그냥 호기심에 릿코드 자바스크립트 카테고리에 있는 문제를 푸는 와중에 알게 되었다.

(자바스크립트 카테고리에는 알고리즘 문제 x) 

대충 말하면 제일 빨리 달린 Promise의 결과값을 이행하거나 거부한다. 그냥 젤 빨리달린 애 반영하는거...

 

mdn의 설명은 아래와 같다

Promise.race() 메소드는 Promise 객체를 반환합니다. 이 프로미스 객체는 iterable 안에 있는 프로미스 중에 가장 먼저 완료된 것의 결과값으로 그대로 이행하거나 거부합니다.

비어있는 iterable을 전달할 경우 영원히 대기 상태가 된다고 한다.

또, iterable에 Promise가 아닌 값이나, 이미 완료된 Promise가 포함되었을 경우에는 가장 처음 등장하는 Promise가 아닌 값이나, 이미 완료된 Promise를 결과값으로 이행한다

 

 

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/race

 

Promise.race() - JavaScript | MDN

Promise.race() 메소드는 Promise 객체를 반환합니다. 이 프로미스 객체는 iterable 안에 있는 프로미스 중에 가장 먼저 완료된 것의 결과값으로 그대로 이행하거나 거부합니다.

developer.mozilla.org