Диод. Отправить более 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 предполагает, что вы можете переместить их в именованные методы и объединить их, используя << или же >> или же +, Если это не то, что вы хотите, вы должны разработать свою проблему более подробно.

Другие вопросы по тегам