首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

大佬们,一波RxJava 3.0来袭,请做好准备~

支持背压的有Flowable类,不支持背压的有Observable,Single, Maybe and Completable类。...:发送0个N个的数据,不支持背压, io.reactivex.Single:只能发送单个数据或者一个错误 io.reactivex.Completable:没有发送任何数据,但处理 onComplete...debounce(去抖动) 可作用于Flowable,Observable。在Android开发,通常为了防止用户重复点击而设置标记位,通过RxJava的debounce操作符可以有效达到该效果。...1Single source = Single.timer(1, TimeUnit.SECONDS); 2Completable completable = source.ignoreElement...flatMap 作用于Flowable、Observable、Maybe、Single。与contactMap类似,只是contactMap的数据发射是有序的,flatMap是无序的。

1.8K10

RxJava2.0你不知道的事(三)

以上一二篇主要是RxJava2.0中的改动,下面我们重点介绍下RxJava2.0中的观察者模式。 RxJava2.0中的观察者模式 RxJava始终以观察者模式为骨架,在2.0中依然如此。...在RxJava2.0中,有五种观察者模式: Observable/Observer Flowable/Subscriber Single/SingleObserver Completable/CompletableObserver...Maybe/MaybeObserver 后面三种观察者模式差不多,Maybe/MaybeObserver可以说是Single/SingleObserver和Completable/CompletableObserver...public abstract class Completable implements CompletableSource{ ... } //没有子类继承Completable public...subscription; //当订阅后,会首先调用这个方法,其实就相当于onStart(), //传入的Subscription s参数可以用于请求数据或者取消订阅

58820

一文读懂响应式编程到底是什么?

当下,我们通过Mina 和Netty 这样的NIO 框架其实就能完成高并发下的服务器端开发任务,但这样的技术掌握在少数高级开发人员手中,因为它们难度较大,并不适合大部分普通开发者。...与RxJava 1 不同,RxJava 3、RxJava 2 直接通过新添加的Flowable 类型来实现Publisher 的接口定义(RxJava 3 与RxJava 2 并没有太多区别,故这里介绍...同时,RxJava 2 依然保留了RxJava 1 中的Observable、CompletableSingle,并引入了支持Optional 的Single 升级版——Maybe 类型。...Flux 可以对标RxJava 2 中的Flowable 类型,Mono 可以被理解为RxJava 2 中对Single 的背压加强版。后续,我们会进行更深入的讲解。...reactor-adapter 可以说是连接RxJava 1/2 中Observable、Completable、Flowable、Single、Maybe、Scheduler 的桥梁,可以方便地与Reactor

84010

Android 中 RxJava 的使用

本文代码对应的是Rxjava2 真前言 总的来说Rxjava可以分为5块内容 分别为 发布者(Observable/Flowable/Single/Completable) 订阅者(Subscriber...RxJava 不仅把每个事件单独处理,还会把它们看做一个队列。RxJava 规定,当不会再有新的 onNext() 发出时,需要触发 onCompleted() 方法作为标志。...public void onComplete() { } }); 操作符 名称 解析 amb()ambArrayambWith 给定多个Observable,让第一个发射数据的...; } }); 上面的代码会收到 101、202 也就是说多个Observable都发送时 才处理数据 amb/ambArray/ambWith 给定多个Observable,让第一个发射数据的...如果报厅是ReplaySubject 我们可以收到 周一 至 周五的报纸 如果报厅是AsyncSubject 我们可以收到 周五的报纸 但是发布的事件中如果有错误 那我们只会接受到错误 不是错误的前一个事件

2.1K30

RxJava2.x 五种观察者和操作符简介

五种观察者模式描述表 类型 描述 Observable 能够发射 0或 n 个数据,并以成功或错误事件终止 Flowable 能够发射 0或 n 个数据,并以成功或错误事件终止,支持背压,可以控制数据源发射的速度 Single...发射单个数据或错误事件 Completable 从来不发射数据,处理 onComplete 和 onError 事件,可以看成 Rx 的Runnable Maybe 能够发射 0 或 1个数据,要么成功...doOnEach 它产生的 Observable 每发射一项数据就会调用它一次,不仅包括 onNext,还有 onError 和 onCompleted doAfterNext 在 onNext 之后执行,...3.Filter Filter 顾名思义,过滤器,可以过滤掉一部分不符合要求的事件,当上游给我们发送的数据超多,下游需要的只是一些特定的数据,如果全部接收上游发送的数据,很容易造成 OOM, 为了避免...4.just just 是 RxJava 的创建操作符,用于创建一个 Observable,Consumer 是消费者,用于接收单个值。

72020

关于RxJava2.0你不知道的事(一)

RxJava2.0 已经独立于RxJava 1.x存在。 RxJava2.0相比RxJava1.x,它的改动还是很大的,下面我将带大家了解这些改动。...:2.0.1' Nulls RxJava1.x中,支持 null 值,如下代码所示: Observable.just(null); Single.just(null); RxJava 2.0不再支持 null...Flowable是RxJava2.0中专门用于应对背压(Backpressure)问题新增的(抽象)类。其中,Flowable默认队列大小为128。并且规范要求,所有的操作符强制支持背压。...SingleCompletable SingleCompletable 都基于新的 Reactive Streams 的思想重新设计了接口,主要是消费者的接口, 现在他们是这样的: Subscriber...Consumer即消费者,用于接收单个值,BiConsumer则是接收两个值,Function用于变换对象,Predicate用于判断。

1.4K20

Android 让你的 Room 搭上 RxJava 的顺风车 从重复的代码中解脱出来

之后我们发现,该方法返回的是一个背压 Flowable 类型的对象,这是为了防止表中数据过多,读取速率远大于接收数据,从而导致内存溢出的问题,具体详见 RxJava 的教程,这里我就不赘述了。...(onConflict = OnConflictStrategy.REPLACE) Completable insertUser(User user); 我们看到,上述方法被 @Insert 注解所标注...顾名思义被 @Insert 标注的方法,会用于向数据库中插入数据,唯一让我们迷茫的是括号中的这个 onConflict 参数,onConflict 意为“冲突”,再联想下我们日常生活中的数据库操作,就不难想到...还有一点值得说的是这个 Completable ,该返回值是 RxJava 的基本类型,它处理 onComplete onError 事件,可以看成是Rx的Runnable。...可以看作是 RxJava 的 Runnale 接口 * 但他只能调用 onComplete 和 onError 方法,不能进行 map、flatMap 等操作 * Completable

1.1K20
领券