Работа с неудачными фьючерсами
В Play Framework 2.3 действие может привести к результату успешного вызова в будущем, например так:
def index = Action.async {
val futureInt = scala.concurrent.Future { intensiveComputation() }
futureInt.map(i => Ok("Got result: " + i))
}
Но как действие может иметь дело с неудавшимся будущим вызовом, то есть будущим, которое было завершено с помощью вызоваfailure()
вместоsuccess()
?
Например, как действие может произвестиInternalServerError
результат с сообщением, возвращаемым в будущем сбрасываемом сбое?
onComplete
а такжеonFailure
обратные вызовы, кажется, не соответствуют потоку действия (он должен возвращать результат из успешного или неудачного будущего).