* @ngdoc method * @name $q#race * @kind function * * @description * Returns a promise that resolves or rejects as soon as one of those promises * resolves or rejects, with the value or reason from that promise. * * @param {Array. |Object. } promises An array o
(promises)
| 17604 | */ |
| 17605 | |
| 17606 | function race(promises) { |
| 17607 | var deferred = defer(); |
| 17608 | |
| 17609 | forEach(promises, function(promise) { |
| 17610 | when(promise).then(deferred.resolve, deferred.reject); |
| 17611 | }); |
| 17612 | |
| 17613 | return deferred.promise; |
| 17614 | } |
| 17615 | |
| 17616 | function $Q(resolver) { |
| 17617 | if (!isFunction(resolver)) { |