| | |
| | | 'use strict'; |
| | | var $ = require('../internals/export'); |
| | | var call = require('../internals/function-call'); |
| | | var aCallable = require('../internals/a-callable'); |
| | | var getBuiltIn = require('../internals/get-built-in'); |
| | | var newPromiseCapabilityModule = require('../internals/new-promise-capability'); |
| | |
| | | $({ target: 'Promise', stat: true }, { |
| | | any: function any(iterable) { |
| | | var C = this; |
| | | var AggregateError = getBuiltIn('AggregateError'); |
| | | var capability = newPromiseCapabilityModule.f(C); |
| | | var resolve = capability.resolve; |
| | | var reject = capability.reject; |
| | |
| | | iterate(iterable, function (promise) { |
| | | var index = counter++; |
| | | var alreadyRejected = false; |
| | | errors.push(undefined); |
| | | remaining++; |
| | | promiseResolve.call(C, promise).then(function (value) { |
| | | call(promiseResolve, C, promise).then(function (value) { |
| | | if (alreadyRejected || alreadyResolved) return; |
| | | alreadyResolved = true; |
| | | resolve(value); |
| | |
| | | if (alreadyRejected || alreadyResolved) return; |
| | | alreadyRejected = true; |
| | | errors[index] = error; |
| | | --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); |
| | | --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); |
| | | }); |
| | | }); |
| | | --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); |
| | | --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); |
| | | }); |
| | | if (result.error) reject(result.value); |
| | | return capability.promise; |