RxPy 中的运算符
在版本 1 中,运算符是 Observable 类中的方法。例如,要使用运算符,我们必须导入 Observable,如下所示 -
from rx import Observable
运算符用作 Observable.operator,例如,如下所示 -
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)))
使用 Pipe() 方法链接运算符
在 RxPy 版本 1 中,如果您必须在 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,您可以使用 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)))