Sie müssen forkJoin
Methode verwenden, um Daten aus mehr als einer Quelle zu laden.
Vor allem, fügen Sie sie in die typescript
Datei ein.
import {Observable} from 'rxjs/Rx';
Viele Male, müssen wir die Daten von mehr als einer Quelle laden, und wir müssen warten, bis alle Daten geladen hat.
forkJoin
Methode umschließt mehrere Observables
. Mit anderen Worten, wir verwenden forkJoin
, um concurrent
http Anfragen auszuführen.
subscribe()
Methode der forkJoin
setzt die Handler auf den gesamten Satz von Observable.
Sie können mehr über forkJoinhere lesen, einschließlich vieler Beispiele.
Angenommen, Sie müssen die ersten 10 Seiten bekommen.
var pages:number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
Oder einfach: var pages:number[]=new Array(10).fill().map((v,i)=>i+1);
// map them into a array of observables and forkJoin
Observable.forkJoin(
pages.map(
i => this.http.get('http://swapi.co/api/people/?page=' + i)
.map(res => res.json())
)
).subscribe(people => this.people = people);
@jonrsharpe warum Sie den Code zu löschen und wenn ich sage 'Danke'? –
Weil es eine Frage ist, eine Antwort zu geben und "Danke" zu sagen *. Unter https://stackoverflow.com/help/someone-answers finden Sie geeignete Maßnahmen, wenn Ihre Frage beantwortet wird. – jonrsharpe
Ich dachte, der Code könnte den Menschen in diesem Fall helfen. Und das "Dankeschön durch Vorschuss" bedeutet Danke für die Leute, die an diesem Problem arbeiten werden, es war nicht mit einer Antwort verbunden. Aber ok –