ich einen zuschaltbaren beobachtbar, die verbunden werden erhalten, wenn der andere Strom ausgeführt:Warum anschließbaren beobachtbaren bekommen ausführen nur einmal
const source1 = Rx.Observable.of([1,2,3,4,5])
.do(() => console.log('Do Something!'))
.map(() => "Always connected.")
.publish();
source1.subscribe((v) => console.log(v));
const connect =() => {
let c = false;
return() => {
if (!c) {
console.log("Get connected");
source1.connect();
c = true;
}
}
}
const source2 = Rx.Observable.fromEvent(document, 'click')
.do(() => console.log("execute!"))
.do(connect())
.switchMapTo(source1);
source2.subscribe((v) => console.log(v));
Der Ausgang
"execute!"
"Get connected"
"Do Something!"
"Always connected."
Weitere Klicks auf dem Dokument source1
sein nicht mehr abonnieren und meine Frage ist, warum?
Do (paragramp Themen Nicht wieder verwendbar sind) haben Sie Lösungsvorschläge haben? Sicherlich ist dies ein weit verbreitetes Muster, in dem Sie eine beobachtbare ausführen möchten Ich versuche, etwas Ähnliches mit RxSwift zu implementieren, wo ich eine verbindbare Observable habe, die eine Netzwerkanforderung umschließt.Wenn die Netzwerkanforderung fehlschlägt, möchte ich in der Lage sein, eine neue Verbindung herzustellen ... –