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