y a-t-il quelque chose comme q.all pour résoudre toutes les demandes d'api http dans angular2?
Dans angular1, je peux faire quelque chose comme ceci:
var promises = [api.getA(),api.getB()];
$q.all(promises).then(function(response){
// response[0] --> A
// response[1] --> B
})
En angular2, le module http renvoie Observable,
api.getA().subscribe(A => {A})
api.getB().subscribe(B => {B})
Mais je veux résoudre A et B ensemble, puis faire quelque chose.
Vous aurez besoin du .forkJoin
opérateur pour cela
Observable.forkJoin([observable1,observable2])
.subscribe((response) => {
console.log(response[0], response[1]);
});
Vous pouvez importer le Observable
avec;
import {Observable} from 'rxjs/Rx';
Angulaire <6:
import {Observable} from 'rxjs/Observable';
...
return Observable.forkJoin(
this.http.get('someurl'),
this.http.get('someotherurl'));
Angulaire> = 6:
import {forkJoin} from 'rxjs';
...
return forkJoin(
this.http.get('someurl'),
this.http.get('someotherurl'));