У меня есть коллекция объектов, назовите их obj
. У них есть метод act()
. Метод act()
в конечном итоге вызовет event()
, наблюдаемый на o
, для вызова onComplete
.Chain Observables
Что такое хороший способ их соединения?
То есть, вызов o.act()
, ждать o.event().onComplete
и затем вызвать следующую o2.act()
, и так далее в течение неопределенного количества o
в коллекции.
Так что подпись так:
public class Item {
final protected PublishSubject<Object> event = PublishSubject.create();
public Observable<ReturnType> event() {
return event;
}
public void act() {
// do a bunch of stuff
event.onComplete();
}
}
А потом в потребляющей код:
Collection<Item> items...
foreach item in items
item.act -> await item.event().onComplete() -> call next item.act() -> so on
Вам нужно вернуть o.act() в o2.act()? Если нет, можете ли вы запустить все это асинхронно? – Sebas
@Sebas o2, o3 и т. Д. Каждый может зависеть от побочных эффектов предыдущего выполнения (но не фактического значения возврата) – mtyson
Итак, вопрос заказа, правильно? – Sebas