Hier ist mein Code, der funktioniert super. Ich rufe subject.next() auf, das an einen HTTP-Anforderungsstrom sendet, der wiederum die HTTP-Antwort ausgibt. Bog Standardmuster glaube ich. Catch bietet die Fehlerbehandlung, die ich möchte.rxjs Betreff/Flatmap fertig rechts
Meine einzige Frage ... Kann es vereinfacht werden?
let subject = new Subject<string>();
let httpStream$ = return subject.asObservable().flatMap((emit: any) => {
return this.http[method](url, emit, this.options)
.timeout(Config.http.timeout, new Error('timeout'))
// emit provides access to the data emitted within the callback
.map((response: any) => {
return {emit, response};
})
.map(httpResponseMapCallback)
.catch((err: any) => {
return Observable.from([err.message || `${err.status} ${err.statusText}`]);
});
}).publish().refCount();
ich zu dem Thema abgeben kann mit ...
subject.next(dataToEmit);
kann ich kann wie gewohnt httpStream $ abonnieren.
Wie gesagt, alles funktioniert, aber mache ich es richtig? Gibt es einen einfacheren Ansatz?
danke martin, einige tolle einblicke dort sehr geschätzt – danday74