复合一次性使处理(认为提前取消更容易).假设您有一个活动同时发生多个api调用:

var disposable = api.call1(arg1,arg2).subscribe(...)

var disposable2 = api.call2(arg1).subscribe(...)

var disposable3 = api.call3().subscribe()

如果您需要提前处置(例如,用户导航远离活动),那么您需要这样做:

disposable.dispose()

disposable2.dispose()

disposable3.dispose()

如果您改为使用CompositeDisposable,则可以将所有一次性物品存储在其中.像这样:

val composite = CompositeDisposable()

composite.add(api.call1(arg1,arg2).subscribe(...))

composite.add(api.call2(arg1).subscribe(...))

composite.add(api.call3().subscribe())

然后你可以拨打一个处理电话:

composite.dispose()

如果您使用的是kotlin,您可以使用运算符重载来使其看起来更好:

fun CompositeDisposable.plusAssign(disposable: Disposable){

this.add(disposable)

}

这使您能够表达为:

val composite = CompositeDisposable()

composite += api.call1(arg1,arg2).subscribe(...)

composite += api.call2(arg1).subscribe(...)

composite += api.call3().subscribe()

Disposable表示请求(认为正在完成工作)并且有一个名为dispose的方法来处理请求.

java disposable_rx-java – RxJava中的CompositeDisposable是什么相关推荐

  1. 深入Java泛型(四):RxJava中泛型的使用分析

    RxJava出现在我们的视线已经很久了,我自己也有阅读过非常多的文章,谈不上精通,但是勉强称得上会一些简单的使用,近日总是对这种响应式的编程,对RxJava魂牵梦绕,深刻的感觉到自己对泛型的认识,理解 ...

  2. Java 并发在项目中的使用场景

    1.并发编程的三个核心问题: (1)分工:所谓分工指的是如何高效地拆解任务并分配给线程 (2)同步:而同步指的是线程之间如何协作 (3)互斥:互斥则是保证同一时刻只允许一个线程访问共享资源 (4)应用 ...

  3. java string 占位符_驳《阿里「Java开发手册」中的1个bug》?

    前两天写了一篇关于<阿里Java开发手册中的 1 个bug>的文章,评论区有点炸锅了,基本分为两派,支持老王的和质疑老王的. 首先来说,无论是那一方,我都真诚的感谢你们.特别是「二师兄」, ...

  4. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  5. java string与integer_Java中Integer和String浅谈

    http://qxzxcjq-126-com.iteye.com/blog/883283 Java中的基本数据类型有八种:int.char.boolean.byte.long.double.float ...

  6. maven只打包java目录_ssm项目中maven对resources目录打包的路径_默认路径,自定义路径...

    博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导): ssm项目打包后mybatis的mapper.xml文件没有放进去 问题出现的原因: ssm项目打包后mybatis的m ...

  7. JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用。

    JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用. 今天再次设置java的环境变量,突然发现每次设置都只是按照步骤一步步将其设置完,并不了解为啥要设置,于是上网找了找 ...

  8. 类的包访问权限:《Java编程思想》中一段话的困惑

    类的包访问权限:<Java编程思想>中一段话的困惑 在<java编程思想第三版>(陈昊鹏 饶若楠等译)的第五章隐藏具体实现中,5.4节的最后一段话是: "正如前面所提 ...

  9. java初学者的书中收获

    Java初学者的书中收获 搜索关于java老师的记忆碎片,第一节课的记忆······其实java比c语言简单许多,也许老师的这句话是对的.可是作为一个初学者,感觉自己因为付出的时间没有在学c语言的时候 ...

最新文章

  1. 精心整理,机器学习的3大学习资源
  2. UNITY把3D模型显示在UI层级上的思路
  3. 全局稳定性收敛平衡点为0吗_该平衡点处的小扰动稳定性判据是什?
  4. AKS使用Azure File实现动态持久化存储
  5. linux系统中scanf函数,Linux下scanf宽度控制问题
  6. Linux显卡驱动|CUDA卸载和安装|pytorch安装
  7. memcached的缺点
  8. 开始VC6学习之旅2
  9. 对棋盘完美覆盖问题证明过程的质疑及其解决
  10. Hadoop伪分布式搭建(本人新手,欢迎大家多多指导和关照)
  11. 基于FPGA的DS18B20数字温度传感器测温实例
  12. yolov3训练步骤
  13. iis php性能优化,iis优化网站运行速度 网站浏览更加快
  14. JTT 808-2019 道路运输车辆卫星定位系统 终端通讯协议及数据格式.PDF
  15. 华东师范 2018年 研究生复试上机题解合集
  16. LCD1602液晶屏
  17. ODC(Orthogonal Defect Classification)简介——正交缺陷分类法
  18. 日本房地产泡沫 Japan Real Estate Bubble
  19. 六、阻塞队列与源码分析(上)
  20. 通过JavaMail下载邮件附件

热门文章

  1. CentOS 7.3镜像挂载搭建本地yum源
  2. Java Apple_GitHub - izhaorui/AppleLogin-java: 苹果登录 Sign in with Apple 服务端校验
  3. python svn库_python实现svn新老库迁移
  4. php对扑克牌进行排序,C#代码实现扑克牌排序的几种方式
  5. html标签名都是小写,到底啥是w3c标准(示例代码)
  6. svn如何取消某个文件的版本管理_微服务架构如何统一管理工程配置文件
  7. 如何打开Cookies网页
  8. html画布360图案填充_在Photoshop中创建带有图案的抽象设计
  9. Navicat工具获取操作数据库和表的SQL语句
  10. go加载python_python培训 | python调用go语言来提速