RxPY - Ultimi aggiornamenti di rilascio
In questo tutorial, stiamo usando RxPY versione 3 e python versione 3.7.3. Il funzionamento di RxPY versione 3 differisce leggermente dalla versione precedente, ovvero RxPY versione 1.
In questo capitolo, discuteremo le differenze tra le 2 versioni e le modifiche che devono essere eseguite nel caso in cui si stiano aggiornando le versioni Python e RxPY.
Osservabile in RxPY
Nella versione 1 di RxPy, Observable era una classe separata -
from rx import Observable
Per usare l'osservabile, devi usarlo come segue:
Observable.of(1,2,3,4,5,6,7,8,9,10)
In RxPy versione 3, Observable è direttamente una parte del pacchetto rx.
Example
import rx
rx.of(1,2,3,4,5,6,7,8,9,10)
Operatori in RxPy
Nella versione 1, l'operatore era metodi nella classe Observable. Ad esempio, per utilizzare gli operatori dobbiamo importare Observable come mostrato di seguito:
from rx import Observable
Gli operatori vengono utilizzati come Observable.operator, ad esempio, come mostrato di seguito:
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)))
Nel caso di RxPY versione 3, gli operatori sono funzionali e vengono importati e utilizzati come segue:
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)))
Concatenamento di operatori utilizzando il metodo Pipe ()
In RxPy versione 1, nel caso in cui dovessi usare più operatori su un osservabile, doveva essere fatto come segue:
Example
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)))
Ma, in caso di RxPY versione 3, puoi usare il metodo pipe () e più operatori come mostrato di seguito -
Example
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)))