function PromiseRace(iterable) {
  if (!IS_RECEIVER(this)) {
    throw MakeTypeError(kCalledOnNonObject, PromiseRace);
  }

  var deferred = NewPromiseCapability(this);
  try {
    for (var value of iterable) {
      this.resolve(value).then(deferred.resolve, deferred.reject);
      SET_PRIVATE(deferred.reject, promiseCombinedDeferredSymbol, deferred);
    }
  } catch (e) {
    deferred.reject(e)
  }
  return deferred.promise;
}
function PromiseRace(iterable) {
  if (!IS_RECEIVER(this)) {
    throw MakeTypeError(kCalledOnNonObject, PromiseRace);
  }

  var deferred = NewPromiseCapability(this);
  try {
    for (var value of iterable) {
      this.resolve(value).then(deferred.resolve, deferred.reject);
      SET_PRIVATE(deferred.reject, promiseCombinedDeferredSymbol, deferred);
    }
  } catch (e) {
    deferred.reject(e)
  }
  return deferred.promise;
}
function PromiseRace ( iterable ) { if ( ! IS_RECEIVER ( this ) ) { throw MakeTypeError ( kCalledOnNonObject , PromiseRace ) ; } var deferred = NewPromiseCapability ( this ) ; try { for ( var value of iterable ) { this . resolve ( value ) . then ( deferred . resolve , deferred . reject ) ; SET_PRIVATE ( deferred . reject , promiseCombinedDeferredSymbol , deferred ) ; } } catch ( e ) { deferred . reject ( e ) } return deferred . promise ; }
ES#sec-promise.race Promise.race ( iterable )
ES#sec - promise . race Promise . race ( iterable )