Ich habe 3 Observablen, die ich ketten muss, Ergebnis von erstem wird in den anderen 2 verwendet. Sie müssen in Reihenfolge laufen und jeder muss warten für den vorherigen zu beenden. Ist es möglich, dann zu verketten ohne zu verschachteln?Verketten und Zusammenführen 3 RxJS Observables mit Ergebnisabhängigkeiten ohne Verschachtelung in TypeScript und Angular 4
public observable1(): Observable<Response> {
let headers = new Headers();
headers.append("Content-Range", "bytes */*");
let requestOptions = new RequestOptions({headers: headers});
return this.http.put(url, "", requestOptions);
}
public observable2(data1url): Observable<Response> {
let headers = new Headers();
headers.append("Content-Range", "bytes */*");
let requestOptions = new RequestOptions({headers: headers});
return this.http.put(data1url, "", requestOptions);
}
public observable3(data1url): Observable<Response> {
let headers = new Headers();
headers.append("Content-Range", "bytes */*");
let requestOptions = new RequestOptions({headers: headers});
return this.http.put(data1url, "", requestOptions);
}
Dies ist die einzige Art, wie ich zu verketten sie gefunden, aber sie immer noch verschachtelt sind, ist es posible sich diese und nicht zu Nest zu tun?
public doHttpProcess() {
return this.observable1().concatMap(result1 => {
return this.observable2(result1.json().data1)
.concatMap(result2 => {
return this.observable3(result1.json().data1);
});
});
}
Vielen Dank für Ihre Hilfe
Kette 'co vereinfachen ncatMap' Operatoren, siehe https://stackoverflow.com/documentation/rxjs/8247/common-recipes/28035/sending-multiple-sequential-http-requests#t=201707180849217790878 – martin