MCPcopy
hub / github.com/angular/angular / any

Method any

packages/zone.js/lib/common/promise.ts:355–395  ·  view source on GitHub ↗
(values: Iterable<PromiseLike<T>>)

Source from the content-addressed store, hash-verified

353 }
354
355 static any<T>(values: Iterable<PromiseLike<T>>): Promise<T> {
356 if (!values || typeof values[Symbol.iterator] !== 'function') {
357 return Promise.reject(new AggregateError([], 'All promises were rejected'));
358 }
359 const promises: Promise<PromiseLike<T>>[] = [];
360 let count = 0;
361 try {
362 for (let v of values) {
363 count++;
364 promises.push(ZoneAwarePromise.resolve(v));
365 }
366 } catch (err) {
367 return Promise.reject(new AggregateError([], 'All promises were rejected'));
368 }
369 if (count === 0) {
370 return Promise.reject(new AggregateError([], 'All promises were rejected'));
371 }
372 let finished = false;
373 const errors: any[] = [];
374 return new ZoneAwarePromise((resolve, reject) => {
375 for (let i = 0; i < promises.length; i++) {
376 promises[i].then(
377 (v) => {
378 if (finished) {
379 return;
380 }
381 finished = true;
382 resolve(v);
383 },
384 (err) => {
385 errors.push(err);
386 count--;
387 if (count === 0) {
388 finished = true;
389 reject(new AggregateError(errors, 'All promises were rejected'));
390 }
391 },
392 );
393 }
394 });
395 }
396
397 static race<R>(values: PromiseLike<any>[]): Promise<R> {
398 let resolve: (v: any) => void;

Callers 15

bootstrap_spec.tsFile · 0.80
comm_spec.tsFile · 0.80
happy_spec.tsFile · 0.80
expectSpanFunction · 0.80
i18n_spec.tsFile · 0.80
literalFunction · 0.80
placeholderFunction · 0.80
extractor_spec.tsFile · 0.80

Calls 6

rejectFunction · 0.85
resolveMethod · 0.65
thenMethod · 0.65
resolveFunction · 0.50
rejectMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected