iodiomatic futuri fallimenti in scala

0

quale sarebbe il modo più idiomatico di recuperare da un futuro fallito

val fut: Future[Option[Int]] = Future.failed(new RuntimeException("Hi, I have failed"))

case class ApplicationException(msg: String) extends RuntimeException(msg)

al take1Fut = fut.recover{
  case e: RuntimeException => throw ApplicationException("I have some business value")}

val take2Fut = fut.transform(
  identity, {case e: RuntimeException => throw ApplicationException("I have some business value")})

val take3Fut = fut.fallbackTo(
  Future.failed(ApplicationException("I have some business value")))

O c'è qualche altro, più idiomatico? Personalmente, preferisco take1Fut

    
posta Yaneeve 09.04.2017 - 10:01
fonte

0 risposte

Leggi altre domande sui tag