Мога да се справя с един наблюдаван резултат от http.get
със следния код:
http.get("/customers/1")
.map((res: Response) => res.json())
.subscribe(customer => this.customer = customer);
Сега имам списък с идентификатори на ресурси като var list:number[] = [1, 4, 7];
че искам да мога да изпращам заявка за всички ресурси и да присвоявам всички разрешени елементи на масива си като customers => this.customers = customers
.
Отговори:
9 за отговор № 1Rx.Observable.forkJoin може да направи това.
Първо импортиране на видимото & вилица:
import {Observable} from "rxjs/Observable";
import "rxjs/add/observable/forkJoin";
или импортиране на всички
import {Observable} from "rxjs/Rx";
Сега свържете всички наблюдавани с forkJoin
:
// a set of customer IDs was given to retrieve
var ids:number[] = [1, 4, 7];
// map them into a array of observables and forkJoin
Observable.forkJoin(
ids.map(
i => this.http.get("/customers/" + i)
.map(res => res.json())
))
.subscribe(customers => this.customers = customers);