/ / Получаване на множество HTTP ресурси едновременно в Angular2 - http, typecript, angular

Получаване на множество HTTP ресурси едновременно в Angular2 - http, макет, ъглова

Мога да се справя с един наблюдаван резултат от 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 за отговор № 1

Rx.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);