RxPY - Arbeiten mit Observablen
Ein Observable ist eine Funktion, die einen Beobachter erstellt und an die Quelle anfügt, an der Werte erwartet werden, z. B. Klicks, Mausereignisse von einem dom-Element usw.
Die unten genannten Themen werden in diesem Kapitel ausführlich behandelt.
Observables erstellen
Abonnieren Sie ein Observable und führen Sie es aus
Erstellen Sie Observablen
Um ein Observable zu erstellen, werden wir verwenden create() Methode und übergeben Sie die Funktion an sie, die die folgenden Elemente enthält.
on_next() - Diese Funktion wird aufgerufen, wenn das Observable ein Element ausgibt.
on_completed() - Diese Funktion wird aufgerufen, wenn das Observable abgeschlossen ist.
on_error() - Diese Funktion wird aufgerufen, wenn auf dem Observable ein Fehler auftritt.
Um mit der Methode create () zu arbeiten, importieren Sie zuerst die Methode wie unten gezeigt -
from rx import create
Hier ist ein Arbeitsbeispiel, um ein Observable zu erstellen -
testrx.py
from rx import create
deftest_observable(observer, scheduler):
observer.on_next("Hello")
observer.on_error("Error")
observer.on_completed()
source = create(test_observable).
Abonnieren Sie ein Observable und führen Sie es aus
Um ein Observable zu abonnieren, müssen wir die Funktion subscribe () verwenden und die Rückruffunktion on_next, on_error und on_completed übergeben.
Hier ist ein Arbeitsbeispiel -
testrx.py
from rx import create
deftest_observable(observer, scheduler):
observer.on_next("Hello")
observer.on_completed()
source = create(test_observable)
source.subscribe(
on_next = lambda i: print("Got - {0}".format(i)),
on_error = lambda e: print("Error : {0}".format(e)),
on_completed = lambda: print("Job Done!"),
)
Die subscribe () -Methode sorgt für die Ausführung des Observable. Die Rückruffunktionon_next, on_error und on_completedmuss an die subscribe-Methode übergeben werden. Die Methode call to subscribe führt wiederum die Funktion test_observable () aus.
Es ist nicht zwingend erforderlich, alle drei Rückruffunktionen an die subscribe () -Methode zu übergeben. Sie können on_next (), on_error () und on_completed () gemäß Ihren Anforderungen übergeben.
Die Lambda-Funktion wird für on_next, on_error und on_completed verwendet. Es nimmt die Argumente auf und führt den angegebenen Ausdruck aus.
Hier ist die Ausgabe des beobachtbaren erstellt -
E:\pyrx>python testrx.py
Got - Hello
Job Done!