Rxjava官网API预览

2 篇文章 0 订阅
1 篇文章 0 订阅

学Rxjava也有段时间,今天又遇到与它相关的问题,打算再看看官网来一个整体性的回顾,做做笔记。

InReactiveX an observer subscribes an Observable.
在Rx中,有几个基础概念。

  1. Observable 被观察者:发出事件或数据的源头
  2. Subsriber 观察者:监听观察者的货色,对事件作出相应的动作
  3. Operartors 操作:数据从 源 到观察者 之间总要一个过程的,过程中可以对数据进行各种操作
  4. Scheduler 调度器: 既然数据传递有一个过程,自然有有需求将数据流在线程之间切换。

主要概念这几个了,之后出来的概念都是基于这几个概念衍生出来的。

Rx主要优势,就是能解决两个问题:

  1. 观察者和被观察者,只是简单实现了观察者模式,若仅是这两者,只能简单处理一些回调问题,牛逼之处在于:通过操作符,可以对数据序列做各种操作。(to Obserables do trasform,combine,mainipulate,and work with the sequences of items by Observables)
  2. 使用Scheduler, 方便在操作数据做线程切换,比如获取数据在后台线程,显示数据时切换到前台

接下来记录下文档中认为比较重要的概念

“hot” and “cold” Observables

An hot Observable may begin emitting items as soon as it created, and so any later observer who subscribes to that observable may starting observing the sequence in the middle.
A “cold” Observale, on the other hand, waits until an observer subscribes to it beore it begins to emmit items, and such an observer is guaranteed to see the whoe sequence from the begining.

热的被观察者会在创建之后便开始发射数据,所以其观察者只能收到部分数据。
冷的被观察者反之,要等到有人订阅之后才会发射,所以能收到完成的数据。
嗯,还有一种适合一种场景的被观察者,叫做Connectable,不会在创建或订阅后发射数据,而是要等到开始调用connect方法之后。

额,文档还介绍了啥是链式调用,其实现原理:对一个对象操作后其返回值是操作后的对象,比如buider模式。

还有几个官网强调的几个概念:

Single 一个Observable的衍生体

Observable 可以发射一系列的item,与之不同的是,Single只会发射一个值或一个错误通知。
基于这点,Single在订阅回调方法中,只有onSuccess()onError()方法,且只能调用其中一个方法,在被调用之后结束。
而Observable有onNext(),onError(),onCompleted三个方法,而onNext()可以调用多次。

与Observable一样,Single也有一系列操作符,部分操作符可返回Observable,具体可查看文档。

Subject 一个既是Observable,又是Observer的东西(翻译成啥都不合适?)

作为一个观察者,它可以订阅一个或多个被观察者,
作为一个被观察者,它可以即可以发射自定义的Items,也可以重新发射作为观察者收到items.

特点:当Subject 观察一个“冷”的Observable之后,便会触发该Observable开始发射items。根据这个特点,可以达到使原来Observable , “cold” to "hot"的转变。

官方提供了几个Subject的子类型,有空再看。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值