实现订阅状态

时间:2016-07-18 08:50:39

标签: rx-java

RxJava中是否有任何运算符实现了subsciption状态?我希望在观察到订阅和取消订阅时收到通知。

我只知道创建一个PublishSubject并使用doOnSubscribe和doOnUnsubscribe运算符向主题发送事件。

1 个答案:

答案 0 :(得分:1)

您可以获取订阅者并使用TestSubscriber,它允许您等到订阅者取消订阅或了解当前状态。

        @Test
public void testIntervalObservable() {
    Subscription subscription = Observable.interval(50, TimeUnit.MILLISECONDS)
                                          .map(time -> "item emitted\n")
                                          .subscribe(System.out::print);
    new TestSubscriber((Observer) subscription).awaitTerminalEvent(200, TimeUnit.MILLISECONDS);
}