美文网首页
RxJava学习(1)-Subject

RxJava学习(1)-Subject

作者: crossroads | 来源:发表于2018-01-22 17:42 被阅读24次

前言

根据Froussios英文版的学习笔记,这里是简单的学习笔记。如果对于subject的文档看不懂,可以进入这里,有很棒的图解。

一、简介

Subject是Observable的扩展,同时实现了Observer的接口,所以它既可以发送数据,也可以接收数据。

一、PublishSubject

PublishSubject只有在订阅后,才会开始接收数据。

二、ReplaySubject

ReplaySubject会接收所有数据,无论何时订阅的。

1. createWithSize:限制缓存的大小


2. createWithTime:限制缓存时间,超过这个时间的数据,将会被丢掉

3. createWithTimeAndSize结合以上。

三、 BehaviorSubject

  1. 会接收订阅前的最后一个数据,相当于createWithSize(1)的效果。
  2. BehaviorSubject也支持在创建的时候,有一个初始默认值,将会作为第一个被接收的数据。

四、AsyncSubject

将会接收订阅前的最后一个数据,但是它在流complete之前,不会发射任何数据!!!它的用途是发射一个值并且立即完成。

后记

所有的流都是在complete或者error之后,不会再发射任何数据,Subject也不例外。

相关文章

  • RxJava学习(1)-Subject

    前言 根据Froussios英文版的学习笔记,这里是简单的学习笔记。如果对于subject的文档看不懂,可以进入这...

  • 理解RxJava Subject --Publish, Repl

    这篇文章将围绕RxJava中的Subject来展开。 Publish Subject Replay Subject...

  • RxJava:Subject

    他是一个桥梁 A Subject is a sort of bridge or proxy that is ava...

  • RxJava备忘资源

    1.给 Android 开发者的 RxJava 详解 2.RxJava中常见的几种Subject 3. RxJav...

  • RxJava学习笔记之Subject

    Subject在ReactiveX是作为observer和observerable的一个bridge或者proxy...

  • RxJava笔记 Subject

    一、AsyncSubjectObserver会接收AsyncSubject的onComplete()之前的最后一个...

  • RxJava 的 Subject

    Subject 是一种特殊的存在 在前面一篇文章Cold Observable 和 Hot Observable中...

  • RxJava:Subject介绍

    这篇文章写的内容是从资料上复制下来的。应该是RxJava的官方资料翻译过来的文件,忘记原出处了。 Subject ...

  • RxJava的Subject

    Subject即可以是一个Observer也可以是一个Observerable,它是连接Observer和Obse...

  • Android RxBus的使用

    RxBus的核心功能是基于Rxjava的,在RxJava中有个Subject类,它继承Observable类,同时...

网友评论

      本文标题:RxJava学习(1)-Subject

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