ReactiveX-简介

Posted holoyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReactiveX-简介相关的知识,希望对你有一定的参考价值。

ReactiveX是一个API,它有很多实现。

Observable填充了异步遍历多元素的空白

  single items multiple items
synchronous T getData() Iterable<T> getData()
asynchronous Future<T> getData() Observable<T> getData()

 如果将Iterable看成是pull模式(因为是consumer阻塞向producer拉数据),Observable则是push模式(producer主动推数据给consumer)

event Iterable (pull) Observable (push)
retrieve data T next() onNext(T)
discover error throws Exception onError(Exception)
complete !hasNext() onCompleted()

 

对于下例getData方法来说,Observable可以有很多实现,但对于Observer来说如何实现并不重要。

public Observable<data> getData();

 

Iterable代码示例

getDataFromLocalMemory()
  .skip(10)
  .take(5)
  .map({ s -> return s + " transformed" })
  .forEach({ println "next => " + it })

 Observable代码示例

getDataFromNetwork()
  .skip(10)
  .take(5)
  .map({ s -> return s + " transformed" })
  .subscribe({ println "onNext => " + it })

 

参考:http://reactivex.io/intro.html

以上是关于ReactiveX-简介的主要内容,如果未能解决你的问题,请参考以下文章