美文网首页
RxSwift操作符对比

RxSwift操作符对比

作者: Seacen_Liu | 来源:发表于2018-07-23 10:35 被阅读0次

本文没有记录RxSwift操作符的基本介绍和用法,具体介绍在网上有很多,当然最好就是查看官方Demo了,还有一个不错的中文文档(非官方)。本文主要是记录操作符的对比,本人的能力有限,如有错漏,劳烦大家指出,希望能在操作符的对比中,深入熟悉RxSwift。

map & flatMap 异同

相同:

  • 都是对Observable 的每个元素应用一个转换方法,然后返回一个Observable

不同:

  • map中的返回值直接是Observable的元素,并不会合并
  • flatMap有将多个Observable合并在一起的能力

flatMap = map + merge

flatMap & flatMapLatest 异同

相同:

  • 都是对Observable 的每个元素应用一个转换方法转换成其他Observable

不同:

  • flatMap 会将这些 Observables 合并在一起
  • flatMapLatest只会取最新的Observable

concat与starWith异同

相同:

  • 都是在Observable上插入其他元素或者序列,都用于插入事件

不同:

  • concat 是在当前序列完成后添加新的Observable
  • startWith是在当前序列的头部添加元素

concat与merge异同

相同:

  • 都是将 Observables 整合在一起

不同:

  • concat 是将多个 Observables 按顺序串联起来
  • merge 是将多个 Observables 按照事件的发生顺序合并在一起

reduce、scan异同

相同:

  • 都是持续将Observable 的每一个元素应用一个函数(上一个结果和当前元素的运算,以此类推从初始值到最后)

不同:

  • reduce是直到遍历完全部的元素后发出最终结果
  • scan发出每一次函数返回的结果。

observeOn & subscribeOn

  • subscribeOn 操作符指定 Observable 在哪个 Scheduler 开始执行,无论它处于链的那个位置。
  • observeOn 将决定后面的方法在哪个 Scheduler 运行。

相关文章

  • RxSwift操作符对比

    本文没有记录RxSwift操作符的基本介绍和用法,具体介绍在网上有很多,当然最好就是查看官方Demo了,还有一个不...

  • RxSwift基础讲解

    RxSwift:RxSwift是一个使用可观察序列和函数式操作符编写异步和基于事件的代码的库。RxSwift常用的...

  • RxSwift文档六(单元测试)

    单元测试 测试自定义操作符 RxSwift用RxTest为所有操作符测试,位于Rx.xcworkspace项目内的...

  • RxSwift #04 | Operators

    Overview RxSwift 提供了多种操作符(Operator),如果你了解 Swift 的高阶函数,比如 ...

  • RxSwift 操作符

    just() 通过传入默认值初始化,Observable泛型,指定类型和不指定类型都无所谓,swift会自动...

  • RxSwift 操作符

    multicast let subject = PublishSubject ()let source = Pub...

  • RxSwift 操作符

    1.Amb 在多个源 Observables 中, 取第一个发出元素或产生事件的Observable ,然后只发出...

  • RxSwift 操作符

    map 将源Observable的每个元素,通过提供的方法转换,然后返回含有转换后元素的Observable fl...

  • RxSwift操作符

    Observable just()of()from()empty()never()error()range()re...

  • RxSwift - API

    RxSwift 支持的操作符 在某些情况,由于不同平台/实现方式,相同的操作符有多个别名,有时相同的操作命名也不一...

网友评论

      本文标题:RxSwift操作符对比

      本文链接:https://www.haomeiwen.com/subject/scmdmftx.html