RxPY 组合操作符
combine_latest
这个操作符将为输入的observable创建一个元组。
语法
combine_latest(observable1,observable2,.....)
参数
Observable:一个可观察对象。
返回值
它返回一个由源可观察对象中的值转换为元组的可观察对象。
示例
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
test2 = of(11,12,13,14,15,16)
test3 = of(111,112,113,114,115,116)
sub1 = test.pipe(
op.combine_latest(test2, test3)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
输出
E:\pyrx>python testrx.py
The value is (6, 16, 111)
The value is (6, 16, 112)
The value is (6, 16, 113)
The value is (6, 16, 114)
The value is (6, 16, 115)
The value is (6, 16, 116)
merge
该操作符将合并给定的 observables。
语法
merge(observable)
参数
Observable:一个可观察对象。
返回值
它将返回一个包含给定可观察对象序列的可观察对象。
示例
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
test2 = of(11,12,13,14,15,16)
sub1 = test.pipe(
op.merge(test2)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
输出
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
The value is 11
The value is 12
The value is 13
The value is 14
The value is 15
The value is 16
start_with
该运算符将接收给定的值,并将其添加到源可观察序列的开头,然后返回完整的序列。
语法
start_with(values)
参数
values:您想在开头添加的值。
返回值
它返回一个observable,该observable在开头处添加了给定的值,然后是源observable的值。
示例
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
sub1 = test.pipe(
op.start_with(-2,-1,0)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))xExample
输出
E:\pyrx>python testrx.py
The value is -2
The value is -1
The value is 0
The value is 1
The value is 2
The value is 3
The value is 4
The value is 5
The value is 6
zip
这个操作符返回一个以元组形式的observable,元组由给定observable的第一个值等等组成。
语法
zip(observable1, observable2...)
参数
Observable: 一个observable
返回值
它返回一个以元组格式存储值的observable。
示例
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
test1 = of(4,8,12,16,20)
test2 = of(5,10,15,20,25)
sub1 = test.pipe(
op.zip(test1, test2)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
输出
E:\pyrx>python testrx.py
The value is (1, 4, 5)
The value is (2, 8, 10)
The value is (3, 12, 15)
The value is (4, 16, 20)
The value is (5, 20, 25)