RxPY - Operadores de serviços públicos

demora

Este operador atrasará a emissão observável da fonte de acordo com a hora ou data fornecida.

Sintaxe

delay(timespan)

Parâmetros

intervalo de tempo: será o tempo em segundos ou data.

Valor de retorno

Ele retornará um observável com valores de origem emitidos após o tempo limite.

Exemplo

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

Resultado

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 converterá os valores da fonte observável com os valores emitidos na forma de valores de notificação explícitos.

Sintaxe

materialize()

Valor de retorno

Isso retornará um observável com os valores emitidos na forma de valores de notificação explícitos.

Exemplo

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

Resultado

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 tempo

Este operador dará o tempo decorrido entre os valores da fonte observável.

Sintaxe

time_interval()

Valor de retorno

Ele retornará um observável que terá o tempo decorrido, entre o valor da fonte emitido.

Exemplo

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

Resultado

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 esgotado

Este operador fornecerá todos os valores da fonte observáveis, após o tempo decorrido ou então irá disparar um erro.

Sintaxe

timeout(duetime)

Parâmetros

duetime: o tempo fornecido em segundos.

Valor de retorno

Ele retornará o observável com todos os valores da fonte observável.

Exemplo

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

Resultado

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

Este operador anexará um carimbo de data / hora a todos os valores do observável de origem.

Sintaxe

timestamp()

Valor de retorno

Ele retornará um observável com todos os valores da fonte observável junto com um carimbo de data / hora.

Exemplo

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

Resultado

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