В Diode, как обрабатывать эффект Future.failure? Док (https://ochrons.github.io/diode/usage/Effects.html), ясно, как значение успеха от вызова Ajax используется для обновления модели с помощью Pot.Ready, но мне интересно, как можно поймать сбой и обновить Pot.Failed.Обращение с функцией Future.failure в диодном эффекте
1
A
ответ
0
С простыми эффектами, необходимо трансформировать как успешную Future
и неудачную Future
в подходящее действие, используя комбинацию map
и recover
. Например:
val eff = Effect(Ajax.get(url)
.map(r => NewMessages(r.responseText)))
.recover { case e => MessageLoadingFailed(e.getMessage) }
)
Если вы используете AsyncAction
(или производный PotAction
) он обеспечивает способ effect
помощника, который автоматически обрабатывает будущие неудачи и создает PotFailed
состояние.
Удивительно, это именно то, что я искал. Cheers Ochrons =) – stackoverflowed