Promise.race()

Promise.race(iterable) 메서드는 iterable 내 프로미스 중 하나가 결정(resolve) 또는 거부하자마자 결정 또는 거부하는 프로미스를 반환합니다, 그 프로미스로부터 값 또는 이유로.

구문

Promise.race(iterable);

매개변수

iterable
iterable 객체, 가령 Array. iterable 참조.

설명

race 함수는 최초 통과 처리한 프로미스와 같은 식으로 처리되는 Promise를 반환합니다. 결정(resolve) 또는 거부합니다, 어느 쪽이 먼저 일어나든.

setTimeout과 함께 Promise.race 사용 예

var p1 = new Promise(function(resolve, reject) {
    setTimeout(resolve, 500, "one");
});
var p2 = new Promise(function(resolve, reject) {
    setTimeout(resolve, 100, "two");
});

Promise.race([p1, p2]).then(function(value) {
  console.log(value); // "two"
  // 모두 결정하지만 p2가 더 빠름
});

var p3 = new Promise(function(resolve, reject) {
    setTimeout(resolve, 100, "three");
});
var p4 = new Promise(function(resolve, reject) {
    setTimeout(reject, 500, "four");
});

Promise.race([p3, p4]).then(function(value) {
  console.log(value); // "three"
  // p3이 더 빠르기에 결정함
}, function(reason) {
  // 호출되지 않음
});

var p5 = new Promise(function(resolve, reject) {
    setTimeout(resolve, 500, "five");
});
var p6 = new Promise(function(resolve, reject) {
    setTimeout(reject, 100, "six");
});

Promise.race([p5, p6]).then(function(value) {
  // 호출되지 않음
}, function(reason) {
  console.log(reason); // "six"
  // p6이 더 빠르기에 거부함
});

스펙

스펙 상태 설명
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Promise.race' in that specification.
Standard ECMA 표준에서 초기 정의.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Promise.race' in that specification.
Draft  

브라우저 호환성

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 32 29.0 (29.0) No support 19 7.1
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 29.0 (29.0) No support No support 8 32

참조

문서 태그 및 공헌자

 이 페이지의 공헌자: Netaras
 최종 변경: Netaras,