RxJava 学习笔记<十三> startWith 操作符

在应用到可观察到的序列之前,StartWith先取一个序列并将其串联起来。

输出:

StartWith 是用 concat 和 just 处理我们序列的缩减名称。

并发序列

可观测值并不总是在可预测的时刻发出值。现在,我们将看到一些用于组合同时发出值的序列的运算符。

amb

amb 获取多个可观测值,并返回首先发出值的一个,其余的都被丢弃了。

在下面的示例中,amb 将镜像第二个可观察到的对象,因为它等待启动的时间较短。

输出:

它的用处可能并不明显。

如果您有多个可以提供值的廉价资源,但是延迟是广泛可变的,则amb特性非常有用。例如,您可能在世界各地复制了服务器。对于客户机发送和服务器响应来说,发出查询都很便宜,但是,由于网络条件,延迟是不可预测的,并且变化很大。使用Amb操作符,您可以向许多服务器发送相同的请求,并使用第一个响应的结果。

另一种做AMB的方式是ambWith操作符,ambWith允许您将可观察到的数据逐个组合在一个链中。当在链或操作符中间使用amb时,这更方便。

输出:

原文链接:

https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%203%20-%20Taming%20the%20sequence/4.%20Combining%20sequences.md

有什么讨论的内容,可以加我微信公众号:

猜你喜欢

转载自my.oschina.net/u/2277632/blog/1808735