我可能在这里非常明显,但在观察者的onComplete()
方法中,我如何知道哪个Observable调用了onComplete?
更多详细信息,请说明您有以下内容:
event.subscribe((e) -> {
},
(error) -> {
},
() -> {
// HERE - How do I tell what event source is completing?
}
答案 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'事件',因为你正在订阅它。