📅  最后修改于: 2020-11-06 06:38:31             🧑  作者: Mango
在本教程中,我们使用RxPY版本3和Python版本3.7.3。 RxPY版本3的工作方式与早期版本(即RxPY版本1)略有不同。
在本章中,我们将讨论这两个版本之间的差异以及在更新Python和RxPY版本时需要进行的更改。
在RxPy版本1中,Observable是一个单独的类-
from rx import Observable
要使用Observable,您必须按以下方式使用它-
Observable.of(1,2,3,4,5,6,7,8,9,10)
在RxPy版本3中,Observable直接是rx包的一部分。
例
import rx
rx.of(1,2,3,4,5,6,7,8,9,10)
在版本1中,运算符是Observable类中的方法。例如,要使用运算符,我们必须导入Observable,如下所示:
from rx import Observable
运算符用作“可观察”。运算符,例如,如下所示-
Observable.of(1,2,3,4,5,6,7,8,9,10)\
.filter(lambda i: i %2 == 0) \
.sum() \
.subscribe(lambda x: print("Value is {0}".format(x)))
在RxPY版本3的情况下,运算符是函数,并且按以下方式导入和使用-
import rx
from rx import operators as ops
rx.of(1,2,3,4,5,6,7,8,9,10).pipe(
ops.filter(lambda i: i %2 == 0),
ops.sum()
).subscribe(lambda x: print("Value is {0}".format(x)))
在RxPy版本1中,如果必须在一个可观察对象上使用多个运算符,则必须按以下步骤进行操作-
例
from rx import Observable
Observable.of(1,2,3,4,5,6,7,8,9,10)\
.filter(lambda i: i %2 == 0) \
.sum() \
.subscribe(lambda x: print("Value is {0}".format(x)))
但是,对于RxPY版本3,您可以使用pipe()方法和多个运算符,如下所示-
例
import rx
from rx import operators as ops
rx.of(1,2,3,4,5,6,7,8,9,10).pipe(
ops.filter(lambda i: i %2 == 0),
ops.sum()
).subscribe(lambda x: print("Value is {0}".format(x)))