首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rx Java 异步编程框架

为达到这个目的,你定义一种获取和变换数据的机制,而不是调用一个方法。...Backpressure 指的是在 Buffer 有上限的系统中,Buffer 溢出的现象;它的应对措施只有一个:丢弃新事件。 当数据流通过异步步骤运行时,每个步骤可以以不同的速度执行不同的操作。...此外,还有一个选项可以通过 Scheduler 将现有的 Executor (及其子类型,如 ExecutorService)封装到 Scheduler 中Schedulers.from(Executor...当只有(最多)一个来源项目,这是一个没有问题的反压,因为它可以始终存储,直到下游准备消费。...Maybe可能会调用以下其中一种情况(也就是所谓的Maybe): onSuccess或者onError onComplete或者onError 可以看到onSuccess和onComplete是互斥的存在

3.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    功能类似于Obserable,除了它只能发出一个成功的值,或者一个错误(没有“onComplete”事件),这个特性是由SingleSource接口决定的。...(T t); void onError(Throwable e); } 其实从API中我们可以看到,每一种观察者都继承自各自的接口(都有一个共同的方法subscrib()),但是参数不一样...,可以说RxJava2.0收紧了create()的权限)。...由于RxJava2.0变化较大无法直接升级,幸运的是,官方提供了RxJava2Interop这个库,可以方便地将RxJava1.x升级到RxJava2.0,或者将RxJava2.0转回RxJava1.x...除此之外,就是我们最熟悉和喜爱的RxJava。 ---我是分割线--- Tamic开发社区 非专业的移动社区 不只是干货,还有人生 长按二维码关注我们

    66020

    RxJava 2.0还没熟悉,RxJava 3.0说来就来了!(多种操作符代码详解篇)

    在Android开发,通常为了防止用户重复点击而设置标记位,而通过RxJava的debounce操作符可以有效达到该效果。...发射B后,在1秒之内,又发射了C和D,在D之后的2秒才发射E,所有B、C都失效,只有D有效;而E之后已经没有其他数据流了,所有E有效。...throttleLast与smaple一致,而throttleFirst是指定周期内第一个数据。throttleWithTimeout与debounce一致。...: Git RxJava: Code RxJava: 8 RxJava: Spock RxJava: McCo 2、merge 可作用所有数据源类型,用于合并多个数据源到一个数据源。...RxJava: Git RxJava: Code RxJava: 8 merge在合并数据源时,如果一个合并发生异常后会立即调用观察者的onError方法,并停止合并。

    2.2K40

    Android :RxJava2.0到底更新了什么?(含使用建议)

    ,所以假如你在使用RxJava 1.0需要升级到RxJava 2.0,则需要做一些转变 今天,我将为大家带来 RxJava 2.0 相对于RxJava 1.0 的升级总结 & 从RxJava 1.0升级到...RxJava 2.0 不再支持 null 值,如果传入一个null会抛出 NullPointerException ---- 5....onSubscribe() void onSubscribe(Disposable d); void onSuccess(T value); void onError(Throwable...总结 本文主要讲解了RxJava 2.0相对于 RxJava 1.0的变动 从上面可以看到,RxJava 2.0相对于 RxJava 1.0最大的改动,主要是增加了被观察者的新实现:Flowable...中 Rxjava 2.0 的一系列文章,包括原理、操作符、应用场景、背压等等 ,有兴趣可以继续关注Carson_Ho的安卓开发笔记!!

    1K30

    Retrofit进阶

    读本文之前,建议对RxJava, Retrofit, RESTful稍做了解: RESTful API 设计指南 RxJava 与 Retrofit 结合的最佳实践 关于RESTful API我再补充一句...提交表单 Post请求可以通过@Body提交整个表单,也可以通过@Field提交单个字段。...相当于一扇大门,外面是服务器,里面是客户端,二者间的通信都得经过它~~ 与RxJava结合,在Observer中处理错误 当然,错误也可以在拦截器中统一处理,这里讲一下和RxJava的配合使用。...(UserEntity model) { } }); 采用RESTful的Api与RxJava是完美配合的,所有的错误全都在onError...经封装,无论网络请求是否成功都会调用onComplete(),这样的话你可以在里面处理进度条等;成功的话会调用onSuccess(model);错误的话会执行默认处理,你也可以重写onFail()来进行特殊的错误处理

    57720

    鸿蒙 MVP+ Rxjava+Retrofit+okhttp 实现教程【鸿蒙专题7】

    我是坚果,这是我的公众号“坚果前端”,觉得不错的话,关注一下吧,如果你迷惘,不妨看看码农的轨迹 前言: 最近还在学习鸿蒙开发的支持,就想着把android里面部分用到知识搬到鸿蒙里面 因为基础语言都是java...client,不然retrofit会自己默认添加一个 if (retrofit == null) { retrofit = new Retrofit.Builder...(String errMessage) { } } 到此 鸿蒙 MVP+ Rxjava+Retrofit+okhttp 实现教程 使用起来和安卓的用法非常像 我这里很多代码是复制过来 同学们可以下载完整的代码来尝试...还有mvp模式的不熟悉的请切翻阅我之前的文章 。...还有跟多关于鸿蒙 网络编程的实现方法同学私下有兴趣可以尝试去实现我这边就不展开讲了 ,最后希望我的文章能帮助到各位解决问题 ,以后我还会贡献更多有用的代码分享给大家。

    85310

    RxJava处理业务异常的几种方式关于异常处理业务异常总结

    曾经遇到过一个复杂的业务场景,需要多个网络请求合并结果。这时,我使用zip操作符,让请求并行处理,等所有的请求完了之后再进行合并操作。...某些请求失败的话,我使用了重试机制,某些请求失败的话我给了默认值。 3. 使用onError处理异常 现在的Android开发中,网络框架是Retrofit的天下。...在接口定义的返回类型中,我一般喜欢用Maybe、Completable来代替Observable,不了解它们的同学可以看之前的文章RxJava的Single、Completable以及Maybe 我们知道...RxJava在使用时,观察者会调用onNext、onError、onComplete方法,其中onError方法是事件在传递或者处理的过程中发生错误后会调用到。...如果有特殊的需求,也可以重写onError方法。

    2.7K30

    给初学者的RxJava2.0教程(一)

    所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。 注:如果你觉得写得不好,请直接批评指出。 我先回答这个问题:学习RxJava2需要先学习RxJava1吗?...只有当上游和下游建立连接之后, 上游才会开始发送事件....当上游发送了一个onError后, 上游onError之后的事件将继续发送, 而下游收到onError事件之后将不再继续接收事件. 上游可以不发送onComplete或onError....比如发送多个onComplete是可以正常运行的, 依然是收到第一个onComplete就不再接收了, 但若是发送多个onError, 则收到第二个onError事件会导致程序会崩溃....带有一个Consumer参数的方法表示下游只关心onNext事件, 其他的事件我假装没看见, 因此我们如果只需要onNext事件可以这么写: 其他几个方法同理, 这里就不一一解释了.

    88960

    Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP

    Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP 项目截图 这是我的目录结构 五步使用RxJava+Retrofit2+Okhttp+RxCache  第一步:导包...一个逻辑模型可以对于多种视图模型 使用MVC的目的是将M和V的实现代码分离,方便扩展,便于以后的管理 从开发者的角度,MVC把应用程序的逻辑层与界面是完全分开的,最大的好处是:界面设计人员可以直接参与到界面开发...MVP MVP 就是基于MVC 的模式上的一个演化版本。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担了View,同时也包含一些Controller的东西在里面。...MVP的优点: 模型与视图完全分离,我们可以修改视图而不影响模型 可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部 我们可以将一个Presenter用于多个视图...如果我们把逻辑放在Presenter中,那么我们就可以脱离用户接口来测试这些逻辑(单元测试) 首页是Model层:业务逻辑和实体模型,所以Model层我只放业务逻辑 public class HomeFragmentModel

    4.3K80

    Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP

    Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP 项目截图 这是我的目录结构 五步使用RxJava+Retrofit2+Okhttp+RxCache...一个逻辑模型可以对于多种视图模型 使用MVC的目的是将M和V的实现代码分离,方便扩展,便于以后的管理 从开发者的角度,MVC把应用程序的逻辑层与界面是完全分开的,最大的好处是:界面设计人员可以直接参与到界面开发...MVP MVP 就是基于MVC 的模式上的一个演化版本。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担了View,同时也包含一些Controller的东西在里面。...MVP的优点: 模型与视图完全分离,我们可以修改视图而不影响模型 可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部 我们可以将一个Presenter用于多个视图,而不需要改变...如果我们把逻辑放在Presenter中,那么我们就可以脱离用户接口来测试这些逻辑(单元测试) 首页是Model层:业务逻辑和实体模型,所以Model层我只放业务逻辑 public class HomeFragmentModel

    40320
    领券