📜  RxPY-使用可观察对象

📅  最后修改于: 2020-11-06 06:38:50             🧑  作者: Mango


一个可观察的函数是创建观察者并将其附加到期望值的源的函数,例如单击,来自dom元素的鼠标事件等。

本章将详细研究以下提到的主题。

  • 创建可观察物

  • 订阅并执行可观察的

创建可观察物

为了创建一个可观察对象,我们将使用create()方法并将该函数传递给具有以下各项的函数。

  • on_next() -当Observable发出一个项目时,将调用此函数。

  • on_completed() -当Observable完成时,将调用此函数。

  • on_error() -当Observable发生错误时,将调用此函数。

要使用create()方法,首先要导入该方法,如下所示:

from rx import create

这是一个工作示例,创建一个可观察的-

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).

订阅并执行可观察的

要订阅可观察对象,我们需要使用subscription()函数并传递回调函数on_next,on_error和on_completed。

这是一个工作示例-

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!"),
)

subscription()方法负责执行可观察对象。回调函数on_nexton_erroron_completed必须传递给订阅方法。依次调用subscribe方法将执行test_observable()函数。

并非必须将所有三个回调函数都传递给subscribe()方法。您可以根据需要传递on_next(),on_error()和on_completed()。

lambda函数用于on_next,on_error和on_completed。它将接受参数并执行给定的表达式。

这是创建的可观察对象的输出-

E:\pyrx>python testrx.py
Got - Hello
Job Done!