我有几个观察者从一个集合中合并。由于某种原因,合并的observable调用onComplete,即使个别的observable不是。
示例:
Set<Observable<InputOutputEvent>> set = new HashSet<Observable<InputOutputEvent>>();
for (Observable ob : obs) {
ob.subscribe((e) -> {
},
(error) -> {
System.out.println("This does NOT happen.");
},
() -> {
System.out.println("This does NOT happen.");
});
set.add(c.event());
}
Subscription s = Observable.merge(set).subscribe((e) -> {
},
(error) -> {
System.out.println("This does NOT happen.");
},
() -> {
System.out.println("This DOES happen.");
});
怎么可能?合并observable不应该只是在所有合并的人都调用它时调用onComplete吗?
我也检查了错误,但没有。
答案 0 :(得分:1)
将此作为对他人的谨慎:
可观测量的set
是EMPTY。在这种情况下立即调用onComplete。