преобразовать список с помощью rx-java, выполнить операцию с промежуточным списком результатов - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть:

List<T>
fun1: T -> U
fun2: U -> void
funList: List<T> -> void

Я хочу применить одновременно (с rxjava2) к каждой функции элемента fun1, а затем fun2 к результату первого.fun2 возвращает void, поэтому я хочу получить просто Completable, который завершается, когда все элементы преобразуются этими двумя функциями.

Одна сложность, которая выше моих навыков rx-java: если все результаты fun1Я хочу запустить funList для всего списка элементов U (List<U>).Выполнение funList должно выполняться одновременно с выполнением fun2.Я не хочу ждать с выполнением fun2 для всех результатов fun1.И результат Completable должен завершиться после всех выполнений fun2 и funList (1 исключение).

Пример для списка из 2 элементов [T1,T2]: fun1 преобразует T1 в U1, и сразу вызывается fun2.Через некоторое время fun1 преобразует T2 в U2, и fun2 вызывается с U2 и одновременно funList с [U1, U2], поскольку все элементы U готовы к funList.funList заканчивается и после выполнения fun2 для U1, а для U2 Завершение завершено.

Есть идеи, пожалуйста?

...