RxPY - 最新发行更新



本教程使用的是 RxPY 版本 3 和 Python 版本 3.7.3。RxPY 版本 3 的工作方式与早期版本(即 RxPY 版本 1)略有不同。

本章中,我们将讨论 2 个版本之间的区别,以及如果你正在更新 Python 和 RxPY 版本所需要做的更改。

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)

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 中,如果你必须对可观察对象使用多个运算符,则必须按如下方式进行 −

示例

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)))
广告
© . All rights reserved.