博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Single
阅读量:6910 次
发布时间:2019-06-27

本文共 1432 字,大约阅读时间需要 4 分钟。

Single

介绍

RxJava(以及它派生出来的RxGroovy和RxScala)中有一个名为Single的Observable变种。

Single类似于Observable,不同的是,它总是只发射一个值,或者一个错误通知,而不是发射一系列的值。

因此,不同于Observable需要三个方法onNext, onError, onCompleted,订阅Single只需要两个方法:

  • onSuccess - Single发射单个的值到这个方法
  • onError - 如果无法发射需要的值,Single发射一个Throwable对象到这个方法

Single只会调用这两个方法中的一个,而且只会调用一次,调用了任何一个方法之后,订阅关系终止。

Single的操作符

Single也可以组合使用多种操作,一些操作符让你可以混合使用Observable和Single:

操作符 返回值 说明
compose Single 创建一个自定义的操作符
concat and concatWith Observable 连接多个Single和Observable发射的数据
create Single 调用观察者的create方法创建一个Single
error Single 返回一个立即给订阅者发射错误通知的Single
flatMap Single 返回一个Single,它发射对原Single的数据执行flatMap操作后的结果
flatMapObservable Observable 返回一个Observable,它发射对原Single的数据执行flatMap操作后的结果
from Single 将Future转换成Single
just Single 返回一个发射一个指定值的Single
map Single 返回一个Single,它发射对原Single的数据执行map操作后的结果
merge Single 将一个Single(它发射的数据是另一个Single,假设为B)转换成另一个Single(它发射来自另一个Single(B)的数据)
merge and mergeWith Observable 合并发射来自多个Single的数据
observeOn Single 指示Single在指定的调度程序上调用订阅者的方法
onErrorReturn Single 将一个发射错误通知的Single转换成一个发射指定数据项的Single
subscribeOn Single 指示Single在指定的调度程序上执行操作
timeout Single 它给原有的Single添加超时控制,如果超时了就发射一个错误通知
toSingle Single 将一个发射单个值的Observable转换为一个Single
zip and zipWith Single 将多个Single转换为一个,后者发射的数据是对前者应用一个函数后的结果

操作符图示

详细的图解可以参考英文文档:<a rel="nofollow" href="http://reactivex.io/documentation/single.html" "="" style="box-sizing: border-box; color: rgb(45, 133, 202); text-decoration: none; background-color: transparent;">Single

转载地址:http://hhwcl.baihongyu.com/

你可能感兴趣的文章
学习Oracle分析函数(Analytic Functions)
查看>>
openstack学习笔记二 网络设置基础
查看>>
RabbitMQ基础
查看>>
有了安全边界,人工智能才能有序发展
查看>>
Qt在mainwindow下代码添加控件不能显示的问题
查看>>
【cocos2dx】使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码
查看>>
Centos6.0之pptpd+mysql+freeradius实现***帐号统一认证管理
查看>>
ES权威指南[官方文档学习笔记]-3
查看>>
Excel导出数据
查看>>
解释Windows7“上帝模式”的原理
查看>>
httpClient4.* 使用教程
查看>>
相对和绝对路径、cd命令、创建和删除目录mkdir/rmdir 、rm命令
查看>>
yum安装配置nagios
查看>>
linux下Bash局部变量及信号捕捉等概念解释
查看>>
HTML5 input placeholder 颜色修改示例css
查看>>
cacti-0.8.8c 下安装realtime插件
查看>>
我的友情链接
查看>>
从0开始学大数据-Java基础开篇(1)
查看>>
github常用命令总结(一)
查看>>
Intent(意图)
查看>>