【rxjava原理 rxjava是什么】
文章插图
1、RxJava是一种基于观察者模式的响应式编程框架,其中的主要角色有:Observable 是RxJava描述的事件流,在链式调用中非常清晰,事件从创建到加工处理再到被订阅者接收到,就是一个接一个的Observable形成的一个事件流 。
2、每一步方法的调用,都会返回一个新的Observable给下一步 , 这个是RxJava源码的基础 。同样是链式调用,但它与我们常见的Builder模式不太一样 , 每个操作符,每次线程切换,每步都会新建一个Observable而非直接加工上一步的Observable返回给下一步 。
3、ObservableOnSubscribe 是这个事件流的源头,下面我们称之为事件源,一般由我们自己创建并传入 。我们创建时,需要重写其subscribe()方法,为了和Observable中的subscribe()方法区别,我们将在下面贴出的代码中将其改名为call() 。
4、我们在调用链中有时会用到各种操作符进行一些变换,事实上每个操作符都会重写这么一个call()方法,相对于我们创建事件源时在这里写入的源业务代码,这些操作符在这里要做的事是由RxJava钦定的,一般是连接事件流的上下游 。在这里我们将准备好被订阅的数据,并调用subscribe()参数中ObservableEmitter的onNext(),onCompleted()或onError()通知订阅者数据准备情况 。
5、Observer 是整个事件流的订阅者,也就是说 , 它将会订阅前面事件创建 , 加工以后的最终结果 。它也是由我们创建的,我们将要重写它的onNext(),onCompleted(),onError()和onSubscribe() , 在接下来的分析中我们将简化一些,只关注onNext() 。我们创建出了Observer以后,将会使用经过上面所有步骤的最后一步生成的Observable,调用它的subscribe() , 与事件源产生联系 。
推荐阅读
- 银行的利息怎么算公式 银行利息怎么算公式是什么利息计算器
- 秣马厉兵枕戈待旦是什么意思
- 双龙雷斯特是什么级别的车型 韩国双龙汽车雷斯特怎么样
- 日产SUNNY是什么车 东风日产sunny是什么车
- 四十佳年华是指多少岁 三四十岁是什么年华
- 唐三彩是冥器吗 唐三彩是什么器物
- 华为p30怎么会闪退 华为p30手机闪退是什么原因
- ap面板是什么 ap面板是什么时候出来的
- 猪猴一家亲是什么生肖 猜生肖猴猪一家亲
- out1和out2是什么意思