Мне нужно некоторое руководство для решения следующего требования:
У меня есть метод, который возвращает Completable
, и внутри него есть 2 цикла, которые внешний цикл должен возвращать complete
только тогда, когда 2 цикла завершили итерацию всехitems.
Вот моя попытка:
private Completable myMethod(Snapshot snapshot, ...) {
return Completable.create(emitter -> {
Flowable.fromIterable(DAYS)
.flatMapSingle(day -> Flowable.fromIterable(ISSUES)
.filter(this::filterByDay)
.count()
.map(issueCount -> snapshot.setIssueCount(issueCount))
).subscribe(next -> {},
emitter::onError,
emitter::completed);
});
}
Это не то, что я ожидаю, поскольку внешний цикл завершается раньше внутреннего!они подписались независимо.Как сделать так, чтобы метод возвращал Completable
только после завершения обоих циклов?