Wie kann ich Beobachten in RxJS
Sagen wir, wir haben ein Beobachtbaren:
var observable = Rx.Observable
.fromEvent(document.getElementById('emitter'), 'click');
Wie kann ich es machen Komplette (was löst onComplete Ereignis für alle abonnierten Beobachter) ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In dieser heutigen form nicht. Ihre beobachtbar ist abgeleitet aus einer Quelle, die nicht abgeschlossen, es kann also nicht selbst abgeschlossen. Was Sie tun können, zu erweitern, um diese Quelle mit einem Abschluss Bedingung. Dies würde die Arbeit wie :
Wenn Sie wollen, um am Ende
observable
Sie tunend$.onNext("anything you want here");
. Das ist in dem Fall das beenden-Ereignis wird durch Sie generiert wird. Wenn dies ist eine weitere Quelle generieren das Ereignis (Tastendruck, etc.) anschließend können Sie direkt eine observable abgeleitet aus dieser Quelle als argumenttakeUntil
.Dokumentation:
onCompleted
- handler ausgelöst, die für alle Beobachter, die das, was Sie gefragt. Über Speicher-Lecks, wenn der Letzte Beobachter hat sich abgemeldet aus dem beobachtbaren erstellt vonfromEvent
, den Ereignis-listener angelegt wurde, entfernt.fromEvent
, den Ereignis-listener angelegt wurde, entfernt. Oh - das ist, was macht Ihre Antwort wirklich hilfreich. Thx 😉Was für mich gearbeitet wird unter Verwendung der nehmen() Betreiber. Es wird Feuer die komplette callback nach x Anzahl der Ereignisse. Also durch die übergabe 1, wird es nach dem ersten Ereignis.
Typoskript:
first()
kann anstelle von verwendet werdentake(1)
Ich denke was du suchst ist die
dispose()
Methode.aus: https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/creating.md#cold-vs-hot-observables
Calling unsubscribe() itself does not call complete method