[RxJava версия 3]
Ссылка ниже показывает, как передавать переменные при связывании наблюдаемых с использованием вложенных наблюдаемых:
В RxJava, как передать переменную при сцеплениинаблюдаемые?
Однако, похоже, что это не работает, когда все данные поступают из одной наблюдаемой. Например, в структуре данных:
obs.flatMap(dataStructure ->
obs.map(dataStructure1 ->
dataStructure1.b).map(b ->
foobar(dataStructure.a, b)));
Предположительно, это не работает, потому что я пытаюсь взять одну и ту же наблюдаемую дважды, она обрабатывает все комбинации a и b дважды. Помимо всего, что кажется уродливым, есть ли простой способ добиться того, чего я хочу, при этом возможность произвольно добавлять вещи в цепочку (например, выполнять больше операций с b перед вызовом foobar)?