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