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

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

075edcefce0db6d1ac9a953a9746daf5.png

d16d95ac5201a2069ebbaa0eeba5350a.png

输出:

a2359a28e0f1a576301c71257bfb4a2a.png

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

d0502219fe2c165248f3ad8f720b307b.png

并发序列

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

amb

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

7b51ac1ccc67e6841d92234dce36ea16.png

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

415b19ef4570a2d3d393194fa00e0d56.png

输出:

81da6892a0b120cfc4e471f6b1e7aa15.png

它的用处可能并不明显。

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

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

1810d10b9b867b8207a6d10997370911.png

输出:

3417842c02f72144d8bc23b866528589.png

原文链接:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值