* @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)
| 16943 | */ |
| 16944 | |
| 16945 | function race(promises) { |
| 16946 | var deferred = defer(); |
| 16947 | |
| 16948 | forEach(promises, function(promise) { |
| 16949 | when(promise).then(deferred.resolve, deferred.reject); |
| 16950 | }); |
| 16951 | |
| 16952 | return deferred.promise; |
| 16953 | } |
| 16954 | |
| 16955 | function $Q(resolver) { |
| 16956 | if (!isFunction(resolver)) { |