Come posso strutturare onComplete a Scala di agire in questo modo:Scala valore restituito da onComplete
Fig 1
{
var x;
if(result.isFailure){
x = foo() // foo is a future
}
if(result.isSuccess){
x = 5
}
bar(x)
}
ho pensato che avrei potuto fare in questo modo:.
Fig. 2
var x = foo onComplete {
case Success(x) => 5
case Failure(t) => foo() //foo is a future
}
bar(x)
Ma onComplete, onFailure e onSuccess tutti hanno Unit
come loro tipo di ritorno,
onComplete[U](f: (Try[T]) ⇒ U)(implicit executor: ExecutionContext): Unit
onSuccess[U](pf: PartialFunction[T, U])(implicit executor: ExecutionContext): Unit
onFailure[U](pf: PartialFunction[Throwable, U])(implicit executor: ExecutionContext): Unit
Come posso ottenere qualcosa di figura in due senza utilizzare una var?
Che cos'è 'foo'? Un 'futuro'? Penso che dovresti dare un po 'di spessore al tuo esempio. – mattinbits
@mattinbits, grazie, modificato la domanda. – krzasteka