RxPY - Operadores de servicios públicos
retrasar
Este operador retrasará la emisión observable de la fuente según la hora o fecha indicada.
Sintaxis
delay(timespan)
Parámetros
intervalo de tiempo: este será el tiempo en segundos o fecha.
Valor devuelto
Devolverá un observable con valores de origen emitidos después del tiempo de espera.
Ejemplo
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")
Salida
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
materializar
Este operador convertirá los valores de la fuente observable con los valores emitidos en forma de valores de notificación explícitos.
Sintaxis
materialize()
Valor devuelto
Esto devolverá un observable con los valores emitidos en forma de valores de notificación explícitos.
Ejemplo
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)))
Salida
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()
intervalo de tiempo
Este operador dará el tiempo transcurrido entre los valores de la fuente observable.
Sintaxis
time_interval()
Valor devuelto
Devolverá un observable que tendrá el tiempo transcurrido, entre el valor fuente emitido.
Ejemplo
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)))
Salida
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))
se acabó el tiempo
Este operador dará todos los valores de la fuente observables, después del tiempo transcurrido o de lo contrario provocará un error.
Sintaxis
timeout(duetime)
Parámetros
duetime: el tiempo expresado en segundos.
Valor devuelto
Devolverá lo observable con todos los valores de la fuente observable.
Ejemplo
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)))
Salida
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
marca de tiempo
Este operador adjuntará una marca de tiempo a todos los valores de la fuente observable.
Sintaxis
timestamp()
Valor devuelto
Devolverá un observable con todos los valores de la fuente observables junto con una marca de tiempo.
Ejemplo
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)))
Salida
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))