Angular2 Beobachten - Wie Sie als Nächstes anrufen von außerhalb des Beobachtbaren Konstruktor
Ich bin Aufbau eines service, durch den eine Observable. In diesem service, den ich erhalten externe Funktionsaufrufe, die auslösen sollte, ein Nächster Anruf auf das Beobachtbare, so dass verschiedene Verbraucher bekommen die Abo-Falle. Während Beobachter Konstruktor kann ich rufen weiter und alles funktioniert Super, aber wie kann ich diese außerhalb der Konstruktor so, dass externe Trigger können weiter Anrufe?
private myObservable$: Observable<any>;
Während der service-init mache ich
this.myObservable$ = new Observable(observer => {
observer.next("initial message");
}
Dann in anderen Methoden des gleichen service möchte ich ausführen zu können, so etwas wie
this.myObservable$.observer.next("next message");
Den oben offensichtlich nicht funktioniert, aber wie kann ich dieses Ziel erreichen?
Ich bin angenommen, ich bin fehlt etwas grundlegendes, da muss es eine Möglichkeit geben, zu emittieren weitere Meldungen außerhalb des sichtbaren ersten Konstruktor
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie eine
Betreff
für dasUnd dann können Sie den Anruf an einem beliebigen Punkt:
Oder verwenden Sie abonnieren:
rxjs
- es hat nichts zu tun mitangular
.next
erhalten neue Werte. Wenn Sie zulassen möchten, dass Abonnements erstelltBehaviorSubject
oderReplaySubject
.Eigentlich
Subject
wird für beide Verleger und dem Abonnenten, und hier, ich glaube, Sie brauchen nur zu publizieren, Ihrem Wert, so verwenden Sie einfach Beobachten.Mithilfe beobachtbare, ordnen Abonnenten-Klasse-level-variable, und verwenden Sie es, wie unten code
Zwei Möglichkeiten:
Machen myObservable$ öffentlich:
Kapseln die beobachtbaren in ein Thema Strom und bieten einen Helfer-Aufruf weiter: