RxJava2: вложенные циклы - внешний цикл должен знать, когда завершен внутренний цикл - PullRequest
0 голосов
/ 17 октября 2018

Мне нужно некоторое руководство для решения следующего требования:

У меня есть метод, который возвращает 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 только после завершения обоих циклов?

1 Ответ

0 голосов
/ 17 октября 2018

Обновленный фрагмент кода работал хорошо для меня.

...