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