RxPY - Opérateurs de services publics

retard

Cet opérateur retardera l'émission observable de la source selon l'heure ou la date indiquée.

Syntaxe

delay(timespan)

Paramètres

timepan: ce sera l'heure en secondes ou la date.

Valeur de retour

Il rendra une observable avec les valeurs source émises après le timeout.

Exemple

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

Production

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

se concrétiser

Cet opérateur convertira les valeurs de la source observable avec les valeurs émises sous forme de valeurs de notification explicites.

Syntaxe

materialize()

Valeur de retour

Cela rendra une observable avec les valeurs émises sous forme de valeurs de notification explicites.

Exemple

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

Production

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

intervalle de temps

Cet opérateur donnera le temps écoulé entre les valeurs de la source observable.

Syntaxe

time_interval()

Valeur de retour

Il renverra une observable qui aura le temps écoulé, entre la valeur source émise.

Exemple

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

Production

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

temps libre

Cet opérateur donnera toutes les valeurs de la source observable, après le temps écoulé ou bien déclenchera une erreur.

Syntaxe

timeout(duetime)

Paramètres

duetime: le temps donné en secondes.

Valeur de retour

Il rendra observable avec toutes les valeurs de la source observable.

Exemple

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

Production

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

horodatage

Cet opérateur attachera un horodatage à toutes les valeurs de l'observable source.

Syntaxe

timestamp()

Valeur de retour

Il rendra une observable avec toutes les valeurs de la source observable avec un horodatage.

Exemple

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

Production

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