Q.all для angular2 наблюдаемых

есть что-то вроде q.all для разрешения всех HTTP-запросов api в angular2?

В угловом1 я могу сделать что-то вроде этого:

var promises = [api.getA(),api.getB()];
$q.all(promises).then(function(response){
    // response[0]  --> A
    // response[1]  --> B
})

В angular2 модуль http возвращает Observable,

api.getA().subscribe(A => {A})
api.getB().subscribe(B => {B})

Но я хочу решить A и B вместе, а затем сделать что-то.

Ответ 1

Для этого вам понадобится оператор .forkJoin для

Observable.forkJoin([observable1,observable2])
       .subscribe((response) => {
          console.log(response[0], response[1]);
       });

Вы можете импортировать Observable с помощью

import {Observable} from 'rxjs/Rx';

Ответ 2

Angular & lt; 6:

import {Observable} from 'rxjs/Observable';
    ...
    return Observable.forkJoin(
        this.http.get('someurl'),
        this.http.get('someotherurl'));

Angular> = 6:

import {forkJoin} from 'rxjs';
...
return forkJoin(
    this.http.get('someurl'),
    this.http.get('someotherurl'));