Wie kann ich onComplete in Scala Struktur auf diese Weise handeln:Scala Rückgabewert von onComplete
Abb 1
{
var x;
if(result.isFailure){
x = foo() // foo is a future
}
if(result.isSuccess){
x = 5
}
bar(x)
}
Ich dachte, ich es auf diese Weise tun könnte.
Abb. 2
var x = foo onComplete {
case Success(x) => 5
case Failure(t) => foo() //foo is a future
}
bar(x)
Aber onComplete, onFailure und onSuccess alle haben Unit
als ihre Rückgabetyp,
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
Wie kann ich etwas erreichen, Figur zwei-ish ohne eine Var zu verwenden?
Was ist "foo"? Eine 'Zukunft'? Ich denke, du solltest dein Beispiel ein wenig konkretisieren. – mattinbits
@mattinbits, danke, bearbeitet die Frage. – krzasteka