angular2のすべてのhttp apiリクエストを解決するq.allのようなものはありますか?
Angular1では、私はこのようなことをすることができます:
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を一緒に解決してから、何かをしたいと思っています。
そのためには.forkJoin
演算子が必要になります
Observable.forkJoin([observable1,observable2])
.subscribe((response) => {
console.log(response[0], response[1]);
});
Observable
をインポートできます。
import {Observable} from 'rxjs/Rx';
角度<6:
import {Observable} from 'rxjs/Observable';
...
return Observable.forkJoin(
this.http.get('someurl'),
this.http.get('someotherurl'));
角度> = 6:
import {forkJoin} from 'rxjs';
...
return forkJoin(
this.http.get('someurl'),
this.http.get('someotherurl'));