如何在后台使用而不是在Activity / Fragment中使用RxJava2中的单个观察者

问题描述 投票:1回答:1

如何在后台使用而不是在Activity / Fragment中使用RxJava2中的单个观察者。

我知道如果Single在Activity / Fragment中使用,那么它可以添加到复合处理器中并将其处理在Activity / Fragment的onDestroy方法中。

但是当它从其他地方调用时如何处理呢?

如果从Activity / Fragment调用它并且我们想在调用onDestroy之前处理它,还有什么其他方法来处理Single?

android rx-java2 rx-android
1个回答
0
投票

ConsumerSingleObserver返回的两个默认观察者(BiConsumerSingleObserverSingle),当你subscribe处置自己onErroronSuccess。如果你传递自己的自定义SingleObserver,你需要决定何时处理它。

Single将只调用其中一种方法,并且只调用一次。在调用任一方法时,Single终止并且对它的订阅结束。 (http://reactivex.io/documentation/single.html

在某些情况下,您可能希望在处置之前处置SingleObserver,在这种情况下,您只需要在dispose返回的Disposable上调用subscribe。你何时何地打电话取决于你的具体情况。

如果你的Single在生命周期对象被破坏之前没有完成(例如HTTP调用),你必须将观察者放置在生命周期对象的destroy回调中。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.