
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)))
廣告