RxJava中是否有任何运算符实现了subsciption状态?我希望在观察到订阅和取消订阅时收到通知。
我只知道创建一个PublishSubject并使用doOnSubscribe和doOnUnsubscribe运算符向主题发送事件。
答案 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);
}