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

我怕爱的太早我们不能终老 提交于 2020-03-04 18:08:01

在应用到可观察到的序列之前,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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!