RxPY - 组合运算符
-
combine_latest
该运算符将为作为输入的可观察对象创建一个元组。句法
combine_latest(observable1,observable2,.....)
参数
observable:observable 列表。返回值
它返回一个 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) 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: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:要在开头添加前缀的值。返回值
它返回一个带有给定值的可观察对象,其开头为前缀,后跟来自源可观察对象的值。例子
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
这个操作符返回一个带有元组形式的值的可观察对象,它是通过获取给定可观察对象的第一个值形成的,依此类推。句法
zip(observable1, observable2...)
参数
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)