Я использую RxJava, и у меня есть Observable
с несколькими элементами внутри. Что я хотел бы сделать, так это запустить функцию A для первого элемента, функцию B для всех из них и функцию C, когда Observable
завершено:
-----1-----2-----3-----|-->
| | | |
run A | | |
| | | |
run B run B run B |
|
run C
есть ли умный способ выразить это с помощью лямбда-функций? У меня уже есть следующее решение, но оно выглядит некрасиво, и я подозреваю, что есть лучший способ сделать это:
observable.subscribe(
new Action1<Item>() {
boolean first = true;
@Override
public void call(Item item) {
if (first) {
runA(item);
first = false;
}
runB(fax1);
}
},
throwable -> {},
() -> runC());