Я вареные мою проблему вниз, в следующем фрагменте кода:RxJava GroupBy и последующее блокирование операций (OnComplete не хватает?)
Observable<Integer> numbers = Observable.just(1, 2, 3);
Observable<GroupedObservable<Integer,Integer>> outer = numbers.groupBy(i->i%3);
System.out.println(outer.count().toBlocking().single());
который блокирует нескончаемо. Я был readingseveralposts и считаю, что я понимаю проблему: GroupedObservables не будет вызывать onComplete, пока их внутренние Observables также не будут завершены. К сожалению, хотя я до сих пор не могу получить вышеприведенный фрагмент для печати!
Например, следующее:
Observable<Integer> just = Observable.just(1, 2, 3);
Observable<GroupedObservable<Integer,Integer>> groupBy = just.groupBy(i->i%3);
groupBy.subscribe(inner -> inner.ignoreElements());
System.out.println(groupBy.count().toBlocking().single());
еще ничего не делает. Я неправильно понял проблему? Есть ли еще одна проблема? Короче говоря, как я могу использовать вышеприведенные фрагменты?
Большое спасибо заранее, Дэн.
Привет, спасибо за ответ. К сожалению, у меня все еще есть проблемы, когда я применяю это к своему делу. Что делать, если я хочу считать элементы трех групп? По сути, я хочу что-то вроде: 1: 1, 2: 1, 3: 1. – Dan
или, скорее, 0: 1, 1: 1, 2: 1! – Dan