#java #rx-java
#java #rx-java
Вопрос:
У меня есть несколько наблюдаемых объектов, которые я объединяю из набора. По какой-то причине объединенный наблюдаемый вызывает onComplete, хотя отдельные наблюдаемые не являются.
Пример:
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.");
});
Как это возможно? Разве наблюдаемое слияние не должно вызывать onComplete только тогда, когда все объединенные его вызвали?
Я также проверил наличие ошибок, но их нет.
Ответ №1:
Оставляя это в качестве предостережения для других:
Список set
наблюдаемых был ПУСТ. В этом случае onComplete вызывался немедленно.