RxPY - Operatori di utilità
ritardo
Questo operatore ritarderà l'emissione osservabile della sorgente in base all'ora o alla data fornite.
Sintassi
delay(timespan)
Parametri
timespan: questo sarà il tempo in secondi o la data.
Valore di ritorno
Restituirà un osservabile con valori di origine emessi dopo il timeout.
Esempio
from rx import of, operators as op
import datetime
test1 = of(1,2,3,4,5)
sub1 = test1.pipe(
op.delay(5.0)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
input("Press any key to exit\n")
Produzione
E:\pyrx>python testrx.py
Press any key to exit
The value is 1
The value is 2
The value is 3
The value is 4
The value is 5
materializzarsi
Questo operatore convertirà i valori dalla sorgente osservabile con i valori emessi sotto forma di valori di notifica esplicita.
Sintassi
materialize()
Valore di ritorno
Ciò restituirà un osservabile con i valori emessi sotto forma di valori di notifica esplicita.
Esempio
from rx import of, operators as op
import datetime
test1 = of(1,2,3,4,5)
sub1 = test1.pipe(
op.materialize()
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The value is OnNext(1.0)
The value is OnNext(2.0)
The value is OnNext(3.0)
The value is OnNext(4.0)
The value is OnNext(5.0)
The value is OnCompleted()
Intervallo di tempo
Questo operatore fornirà il tempo trascorso tra i valori osservabili dalla sorgente.
Sintassi
time_interval()
Valore di ritorno
Restituirà un osservabile che avrà il tempo trascorso, tra il valore sorgente emesso.
Esempio
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
sub1 = test.pipe(
op.time_interval()
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The value is TimeInterval(value=1, interval=datetime.timedelta(microseconds=1000
))
The value is TimeInterval(value=2, interval=datetime.timedelta(0))
The value is TimeInterval(value=3, interval=datetime.timedelta(0))
The value is TimeInterval(value=4, interval=datetime.timedelta(microseconds=1000
))
The value is TimeInterval(value=5, interval=datetime.timedelta(0))
The value is TimeInterval(value=6, interval=datetime.timedelta(0))
tempo scaduto
Questo operatore fornirà tutti i valori dalla sorgente osservabile, dopo il tempo trascorso oppure attiverà un errore.
Sintassi
timeout(duetime)
Parametri
duetime: il tempo espresso in secondi.
Valore di ritorno
Restituirà osservabile con tutti i valori osservabili dalla fonte.
Esempio
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
sub1 = test.pipe(
op.timeout(5.0)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The value is 1
The value is 2
The value is 3
The value is 4
The value is 5
The value is 6
timestamp
Questo operatore allegherà un timestamp a tutti i valori dalla fonte osservabile.
Sintassi
timestamp()
Valore di ritorno
Restituirà un osservabile con tutti i valori osservabili dalla sorgente insieme a un timestamp.
Esempio
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
sub1 = test.pipe(
op.timestamp()
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The value is Timestamp(value=1, timestamp=datetime.datetime(2019, 11, 4, 4, 57,
44, 667243))
The value is Timestamp(value=2, timestamp=datetime.datetime(2019, 11, 4, 4, 57,
44, 668243))
The value is Timestamp(value=3, timestamp=datetime.datetime(2019, 11, 4, 4, 57,
44, 668243))
The value is Timestamp(value=4, timestamp=datetime.datetime(2019, 11, 4, 4, 57,
44, 668243))
The value is Timestamp(value=5, timestamp=datetime.datetime(2019, 11, 4, 4, 57,
44, 669243))
The value is Timestamp(value=6, timestamp=datetime.datetime(2019, 11, 4, 4, 57,
44, 669243))