В настоящее время у меня есть следующий код:
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 перехода между состояниями, на самом деле может случиться так, что я буду проходить больше или меньше переходов. Я бы хотел, чтобы переход с Future на Observable подразумевал наименьшее количество изменений в моем текущем «императивном» коде.
Кроме того, я бы хотел, чтобы эти «события» публиковались в реальном времени, а не только при возврате из метода.