java - 取消订阅不会级联回 RxJava 中的基本可观察值

标签 java groovy reactive-programming observable rx-java

我有一个可观察对象(示例中的“o”),我需要在观察者取消订阅后清理某些状态。根据the docs ,取消订阅构建在“o”之上的其他观察者应该级联回“o”。

这种行为似乎仅适用于某些示例。在下面的代码中,我希望“cleanup”消息被打印三次,但在最后一种情况(o1.throttleLast(...))中却没有。

    def o = rx.Observable.create({ subscriber ->
        subscriber.add(Subscriptions.create({ println "cleanup" }))
    })

    o.subscribe({})
        .unsubscribe() // prints

    o.take(1)
        .subscribe({})
        .unsubscribe();  // prints

    o.throttleLast(1, TimeUnit.MILLISECONDS)
        .subscribe({})
        .unsubscribe() // doesn't print

有什么想法吗?谢谢。

最佳答案

RxJava 1.0.3修复了throttleLast的bug。

关于java - 取消订阅不会级联回 RxJava 中的基本可观察值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27428757/

相关文章:

org.hibernate.ejb.criteria.predicate.ComparisonPredicate.render 处的 java.lang.NullPointerException

java - Google Collections ImmutableMap 迭代顺序

groovy - + 运算符在 groovy 中的字符串连接中表现出意外

groovy - 我可以将条件表达式放在 groovy 的多行字符串中吗?

ios - 尝试将值注入(inject)发布者,但接收到无序值

javascript - Bacon.js 总线的 RxJS 等价物是什么?

java - Java响应式框架的比较

java - Java nanoTime 的多线程

java - 如何使用Java清除openGL中的屏幕

groovy - 使用 -indy 编译 Groovy 项目