RxJava 学习笔记<十五> switchOnNext 和 switchMap 操做符

switchOnNext

    switchOnNext 运算符采用一个发出 observables 的observable ,返回的 observable 从最近的 observable 中发射出来。当一个新的 observable 出现时,旧的被丢弃,而新的值被发出。ios

 

日志输出:git

    这个例子可能有点使人困惑。咱们所作的就是创造一个observable,每100毫秒创造一个新的observable。每隔30毫秒,每一个可观测到的物体都会按顺序发出它的数字。在100毫秒后,这些可观测到的每个都有足够的时间发射它的数字3倍。而后,一个新的可观测性被建立,这使得它们被新的可观测性所取代。github

switchMap

    在 flatMap 内部使用中用 Merge 来组合生成的序列, ConatMap 使用 Conat 时,就会有 switchMap来使用 switchOnNext 来进行 flattening phase(便平台阶段?)。微信

    

    源序列中的每一个值都经过 Func 映射到 observable。从生成的 observable 发出的值由返回的observable 发出。每次新值到达时,Func 都会生成一个新的observable 并切换到它,丢弃旧的值。咱们为 SwitOnNext 演示的示例也能够用 SwitchMap 实现。spa

日志输出:日志

原文连接:blog

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

有什么讨论的内容,能够加我微信公众号:io

相关文章
相关标签/搜索