最近使用retrofit2 + rxKotlin2写接口访问,想尽量平铺代码,于是就想到当借口返回的状态码为「不成功」时(比如:code != 200),就连同网络错误一起,统一在onError方法中处理。想法总是好的,但是实际中却遇到onError无法捕获异常,造成应用崩溃的问题,终于在这个周末,我梳理清楚了RxJava的错误处理机制。每一个后端接口基本都会有一个自定义的返回码,我们常常依据
转载 2024-10-26 20:59:13
28阅读
RxJava源码阅读理解系列(五)操作符concatMapgroupBy 操作符今天我们继续来阅读RxJava中常用的操作符的源码。concatMapconcatMap和flatMap基本功能类似,区别在于concatMap接收到的数据源顺序是有序的而flatMap是无序的。 因为在flatMap中,订阅操作订阅MergeObserver的时候并发地创建了多个InnerObserver并存储在了
转载 2024-06-05 05:44:45
28阅读
RxJava简介RxJava全称是Rective Extensions Java(基于Java实现的响应式扩展);Rx是一个响应式编程模型,目标是提供一致的编程接口,帮助开发者方便的处理异步数据流;其最早是微软.Net中LINQ的一个响应式扩展,2012年开始将.NET Rx迁移到JVM上面,并于13年二月份正式向外展示了RxJava。响应式编程响应式编程是一种基于异步数据流概念的编程模式;数据/
转载 2024-02-03 09:39:47
63阅读
学而不思则罔,思而不学则殆 【RxJavaRxJava入门和原理分析引言RxJava接口介绍RxJava简单范例just操作符使用just操作符解析数据源+数据处理双向链表调用链 引言我相信很多人初学RxJava的时候一定被里面的各种接口和回调绕晕了,各种回调,各种订阅,我在哪儿,我又在哪儿,因为博主就是,最开始学习的时候被绕晕了。所以本篇文章就带领读者从一种熟悉的逻辑结构中来学习和了解RxJa
转载 2023-07-07 14:56:54
67阅读
接触了RxJava一段时间后,对一些operation的理解还是不到位,这里分析总结下。Debounce or Sampledebounce的原
转载 2016-11-13 22:38:18
80阅读
RXJava简单理解首先,rxjava是什么?其实对于刚接触rxjava的宝宝而言,只需要掌握两点:观察者模式异步处理 观察上图,清楚生动刻画出了rxjava的观察者模式:开关(被观察者)作为的是事件的产生方(产生“on”和“off”这两个 Event),有它发起这起开关的事件。台灯(观察者)作为事件的处理方(处理的是“on”和“off”这两个事件),被动的执行on和off。在产生和完成中间,即
转载 2023-06-25 09:37:50
96阅读
感觉RxJava最近风生水起,不学习一下都不好意思了,洒家也是初学RxJava,也是感觉代码好像更复杂更难懂了,看了一篇外文感同身受,简单翻译一下。本文简单介绍使用RxJava优势所在。但可能需要有一点RxJava基础,推荐先看一下抛物线的那篇经典的匠心写作。 —–华丽分割线,译文开始——— Reactive Extensions (Rx) 是一系列接口和方法,为开发者提供了一种易懂且迅速简单
转载 2023-08-17 17:05:14
33阅读
RxJava是一个基于事件流的实现异步操作的框架(库),其作用是实现异步操作,类似于Android中的AsyncTask,那么为什么RxJava可以在众多异步操作的库中脱颖而出深受广大开发者喜爱呢?原因在于其逻辑简单、使用方便、条理清晰的特点,本文将由浅至深、由易到难一步一步带你理解和使用RxJava。本文目录如下:RxJava原理初探既然RxJava是为了异任务而引入的,那么我们首先引入一个生活
转载 2023-07-09 19:31:34
71阅读
前言:这几天一直在读这篇文章研究Rejava这个听闻已久的超级好用的进程,简单的说明一些Rejava的原理。其实Rxjava并不是我想象的简单但是确实学到一种开发的思路就是简洁,能简洁的说明写这段代码的意思。这对于那些看别人写的项目逻辑复杂的模块就感觉头大的人,比如我,这个Rxjava实现异步操作的库所写作的方式我还是比较喜欢的。Rxjava一 什么是RxjavaRxjava就是异步,它就是一个实
本文主要从原理上去理解RxJava,不涉及复杂的操作符讲解。 先看个简单例子:Observable .create(ObservableOnSubscribe<String> { it.onNext("") })//-------》 create返回的observable简称A .subscribeOn(Schedulers.newThread())// ------
前言Rxjava是NetFlix出品的Java框架, 官方描述为 a library for composing asynchronous and event-based programs using observable sequences for the Java VM,翻译过来就是“使用可观察序列组成的一个异步地、基于事件的响应式编程框架”。一个典型的使用示范如下:Observable.cr
转载 2024-04-23 14:56:08
50阅读
RxJava是一个异步开发框架,Rxjava Rx含义 ReactiveX是Reactive Extensions的缩写。首先提这几个问题:RxJava框架内部的主干逻辑是怎样的?RxJava究竟是如何实现一句话线程切换的?多次调用subscribeOn()或observeOn()切换线程会有什么效果?回答了这几个问题以后,我们大概就能对RxJava的基本原理有初步的认知了。这里的代码抽
转载 2024-08-28 19:55:17
72阅读
ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师EriRea
转载 2016-08-02 11:15:13
86阅读
Rxjava整体工作原理本质上是观察者模式:Observer(观察者)监听Observable(被观察者)。每个操作符实际上会创建一个Observable,其中配套会创建一个代理了下一级注册给它的Observer的Observer。在代码链的最后进行subsribe时,每一层的Observable会依次逆序(从最后一层到第一层)地把自己的Observer注册给上一级的Observable,直到第一
转载 2023-05-26 16:31:58
77阅读
上一篇文章讲解了RxJava 1.x&2.x版本的基本元素(Observable、Subscriber、Flowable、Observer等)流程源码分析,对RxJava两个版本的基本使用元素和订阅原理有了一定的认识后,此篇文章将重点置于map、lift操作符,已知操作符的作用是将发出的数据进行处理再发送,RxJava源码内部具体操作原理如何?来一探究竟。此系列文章重点在于分析源码,并不适
目录什么是Rxjava1.简单实例2.操作符系列2.1 map操作符题外话题disposable 什么是RxjavaReactiveX是一个通过使用可观察序列来编写异步和基于事件的程序的库。 它扩展了观察者模式以支持数据和/或事件序列,并增加了运算符,使您可以声明性地组合序列,同时抽象出对低级线程,同步,线程安全性,并发数据结构和非线程等事物的关注阻塞I / O1.简单实例以上文字的描述很精炼的
转载 2023-08-31 18:36:46
127阅读
前言我在看过几篇关于RxJava源码分析的博客后,不知是我的水平有限还是源码过于博大精深,导致花了很长的时间才搞清楚其运行原理。我个人觉得应该有更好的办法来快速剖析理解,于是决定写下本文。 本文适合已经看过一些RxJava源码分析资料的同学,不过没看过也没关系。在看本文时可参考这篇博客:​​RxJava基本流程和lift源码分析​​,它说得比较全,在此感谢博主大头鬼Bruce。一、初探RxJav
原创 2023-02-02 21:32:21
94阅读
1 RxJava简介1.1 定义RxJava:a library for composing asynchronous and event-based programs using observable sequences for the Java VM // 翻译:RxJava是一个在Java VM上使用可观测的序列来组成异步的、基于事件的程序的库。总结:RxJava是一个 基于事件流、实现异步
转载 2024-02-20 21:21:35
102阅读
英文原文:​​https://github.com/ReactiveX/RxJava/wiki/Backpressure​​Backpressure(背压、反压力)在rxjava中会经常遇到一种情况就是被观察者发送消息太快以至于它的操作符或者订阅者不能及时处理相关的消息。那么随之而来的就是如何处理这些未处理的消息。举个例子,使用​​zip​​操作符将两个无限大的Observable压缩在一起,其中
翻译 2022-07-30 00:01:08
356阅读
好文推荐:作者:Yunjie Ma一、ReactiveX 与 RxJavaReactiveX 的全称为Reactive Extension,一般缩写为 Rx,即我们平常所说的反应式编程。其设计原理主要使用了观察者模式,区分数据的生产者和消费者,通过事件流的方式进行数据的异步处理。
  • 1
  • 2
  • 3
  • 4
  • 5