java - 不使用 Observable.create() 时如何查看订阅状态?

标签 java android rx-java reactive-programming

假设您有一些由可观察对象包装的长时间运行的任务:

Observable.fromCallable(new Callable<String>() {
    @Override
    public String call() throws Exception {
        return longRunningTask();
    }
}

有没有办法检查可观察对象是否已取消订阅,以确定我们是否应该取消工作并退出?

更具体地说,在使用 Observable.defer()Observable.fromCallable 时是否可以检查订阅的状态(例如 isUn​​subscribed()) ()?

我知道您可以在使用 Observable.create() 时检查 subscriber.isUnsubscribed(),但是,因为不建议使用 Observable.create(),其他算子如何实现?

最佳答案

如何使用 Observable.doOnSubscribe(Action0)Observable.doOnUnsubscribe(Action0)。您可以计算订阅数,当没有订阅时,您可以停止作业。

您好, 马丁

关于java - 不使用 Observable.create() 时如何查看订阅状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36210876/

相关文章:

java - 无法使用类型编号的 where 条件从数据库中检索行

java - 我想让 java 应用程序调用 ActionScript 中的函数?

android - 无法在 Android Studio 中引用来自 aar 的类

java - 如何保证RXJava Observable指令在线程范围内执行?

Java JFrame 绘制

java - 如何修复 HashMap 更新每个现有值而不是单个值

android - 如何在我的 Android 应用程序中使用和打包 JAR 文件?

android - 索尼 xperia mini 安卓模拟器

java - 在 RxJava 中组合未知数量的 Observable

android - RxJava - 给出异常后继续连接