RxJava:在onComplete中获取可观察性

时间:2016-10-08 23:30:36

标签: java rx-java

我可能在这里非常明显,但在观察者的onComplete()方法中,我如何知道哪个Observable调用了onComplete?

更多详细信息,请说明您有以下内容:

event.subscribe((e) -> {
},
(error) -> {
},
() -> {
// HERE - How do I tell what event source is completing?
}

1 个答案:

答案 0 :(得分:0)

'event'是一个可观察的。观察者发出的每个项目都将通过运营商链。在一个项目通过运营商之后,它将被重定向到订户,这发生在'订阅'中。订阅提供两个overloades。一个用于流(事件)的每次发射,第二个用于注意'event'-Observable(流)已经完成。

让我们看一下List,它将在Observable中转换。如果使用以下函数将数组转换为Observable:

Observable<Integer> integerObservable = Observable.fromArray(1, 2, 3);

您将在订阅中为每个值1,2,3 onNext调用。 3被推到onNext后,observable将是“onComplete”。只需看看gitHub上的实现,看看发生了什么。

回到你的问题:我如何判断哪些事件源正在完成? 这将是Observable'事件',因为你正在订阅它。