【问题标题】:Materialize the subscription status实现订阅状态
【发布时间】:2016-07-21 15:58:38
【问题描述】:

RxJava 中是否有任何操作符来实现订阅状态?我想在 observable 订阅和取消订阅时收到通知。

我知道的唯一方法是使用 doOnSubscribe 和 doOnUnsubscribe 运算符创建 PublishSubject 并向主题发送事件。

【问题讨论】:

    标签: rx-java


    【解决方案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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-22
      • 1970-01-01
      • 2018-03-17
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-05
      相关资源
      最近更新 更多