У меня сейчас есть следующий код:
def method(): Future[State] = Future {
// some processing
State.Completed
}
Но теперь я заметил, что вместо этого я хочу «опубликовать» набор промежуточных состояний:
def method(): Observable[State] = ? {
// some processing
publish State.State1
// some processing
publish State.State2
// some processing
publish State.Completed
}
Есть ли простой способ достичь этого? Хотя я описал это как 3 перехода между состояниями, на самом деле может случиться так, что я буду проходить больше переходов или меньше. Я хотел бы, чтобы переход от будущего к наблюдаемому подразумевал наименьшее количество изменений из моего текущего «императивного» кода.
Кроме того, я бы хотел, чтобы эти «события» публиковались в реальном времени, а не только при возвращении из метода.