Диод. Отправить более 1 действия в цепи
Коллеги, я не могу сделать diode
, чтобы отправить себе более одного действия из другого действия. вот пример из App circuit
:
val handler = new ActionHandler(myZoomedState) {
override def handle = {
case action => effectOnly(Effect(someFuture map {_ =>
someAction //This action doesn't perform
someOtherAction //This one does
}))
case someAction => ???
case someOtherAction => ???
}
}
Как я могу связать действия? Что-то вроде >>
ти callbacks
:someCallback >> someOtherCallback
2 ответа
Решение
Решение заключается в создании другого действия, объединяющего эти два действия. И я все еще могу справиться Future
ошибка. Выглядит так:
case object DoSmthStuff
...
val handler = new ActionHandler(myZoomedState) {
override def handle = {
case action => effectOnly(Effect(
someFuture map { _ => DoSmthStuff } recover { ... }
))
case DoSmthStuff = effectOnly(
Effect.action(someAction) >> Effect.action(someOtherAction)
)
case someAction => ???
case someOtherAction => ???
}
}
Олег, ваши вопросы совсем не ясны. Если ваши обработчики someAction
а также someOtherAction
на самом деле только эффект как реализация вашего case action
предполагает, что вы можете переместить их в именованные методы и объединить их, используя <<
или же >>
или же +
, Если это не то, что вы хотите, вы должны разработать свою проблему более подробно.