码迷,mamicode.com
首页 > 其他好文 > 详细

ReactiveX-简介

时间:2018-05-27 00:56:26      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:producer   orm   active   body   tran   class   from   重要   iterable   

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-简介

标签:producer   orm   active   body   tran   class   from   重要   iterable   

原文地址:https://www.cnblogs.com/holoyong/p/9094847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!