假设您有一些由可观察对象包装的长时间运行的任务:
Observable.fromCallable(new Callable<String>() {
@Override
public String call() throws Exception {
return longRunningTask();
}
}
有没有办法检查可观察对象是否已取消订阅,以确定我们是否应该取消工作并退出?
更具体地说,在使用 Observable.defer()
或 Observable.fromCallable 时是否可以检查订阅的状态(例如
?isUnsubscribed()
) ()
我知道您可以在使用 Observable.create()
时检查 subscriber.isUnsubscribed()
,但是,因为不建议使用 Observable.create()
,其他算子如何实现?
最佳答案
如何使用 Observable.doOnSubscribe(Action0)
和 Observable.doOnUnsubscribe(Action0)
。您可以计算订阅数,当没有订阅时,您可以停止作业。
您好, 马丁
关于java - 不使用 Observable.create() 时如何查看订阅状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36210876/