Rx操作符

1、Observable.from()方法,它接收一个集合作为输入,然后每次输出一个元素给subscriber:

Observable.from("url1", "url2", "url3")
.subscribe(url -> System.out.println(url));

2、Observable.flatMap()接收一个Observable的输出作为输入,同时输出另外一个Observable。直接看代码:

query("Hello, world!")
.flatMap(new Func1<List<String>, Observable<String>>() {
@Override
public Observable<String> call(List<String> urls) {
return Observable.from(urls);
}
})
.subscribe(url -> System.out.println(url));

3、getTitle()返回null如果url不存在。我们不想输出"null",那么我们可以从返回的title列表中过滤掉null值!

query("Hello, world!")
.flatMap(urls -> Observable.from(urls))
.flatMap(url -> getTitle(url))
.filter(title -> title != null)
.subscribe(title -> System.out.println(title));

4、take()输出最多指定数量的结果。

  doOnNext()允许我们在每次输出一个元素之前做一些额外的事情,比如这里的保存标题。

query("Hello, world!")
.flatMap(urls -> Observable.from(urls))
.flatMap(url -> getTitle(url))
.filter(title -> title != null)
.take()
.doOnNext(title -> saveTitle(title))
.subscribe(title -> System.out.println(title));

参考:http://blog.csdn.net/lzyzsd/article/details/44094895

最新文章

  1. Linux From Scratch(从零开始构建Linux系统,简称LFS)- Version 7.7(一)
  2. html生成图片并保存到本地方法(Windows)
  3. [c++] Pieces of knowledge
  4. 学习Python的三种境界
  5. ThinkPHP 修改,删除数据,全部显示
  6. [原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)
  7. ASP.NET MVC 开源项目学习之ProDinner (二)
  8. eclipse怎么集成配置JDK和Tomcat
  9. OC语言-01类和对象
  10. Unity加载本地图片的2种方式
  11. mysql命令[转]
  12. HTML5 Canvas:初始Canvas
  13. Spring Cloud中关于Feign的常见问题总结
  14. BZOJ3490 : Pa2011 Laser Pool
  15. Selenium如何在谷歌浏览器模拟H5页面
  16. python拼接变量、字符串的3种方法
  17. js 正则常用函数 会正则得永生
  18. 利用koa打造restful API
  19. 蓝牙inquiry流程之命令下发
  20. Python概念-Attr系列(林海峰教的)

热门文章

  1. [UGUI]图文混排(七):动态表情
  2. java se 随机数。生成
  3. 通俗理解caller和callee
  4. 代码:jquery自定义插件 demo
  5. 将tgz文件解压到指定目录
  6. JVM虚拟机宕机_java.lang.OutOfMemoryError: unable to create new native thread
  7. 使用STM32的USART的同步模式Synchronous调戏SPI【usart模拟spi理论】
  8. 排查bug的步骤
  9. des加密delphi与c#
  10. PHP5 的五种常用模式