RxPY - 组合运算符

combine_latest

此运算符将为作为输入给定的可观察对象创建一个元组。

语法

combine_latest(observable1,observable2,.....)

参数

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

此运算符将合并给定的可观察对象。

语法

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: 您要在开头添加前缀的值。

返回值

它返回一个带有给定值前缀的可观察对象,后跟来自源可观察对象的值。

示例

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: 一个可观察的对象

返回值

它返回一个具有元组格式值的可观察对象。

示例

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)