0
Ich habe den folgenden Code, der leise, ohne einen Fehler zu kontrollieren scheitern:MapTo Entweder schweigt fehlschlagen, wenn es nicht abgestimmt
(actor ? GetRowCount()).mapTo[Either[Rejection, Long]] map {
case Left(x) => ctx.reject(x)
case Right(totalRows) => ctx.complete(totalRows)
}
Wenn GetRowCount()
keine Long
zurück, sondern ein String
zum Beispiel wurde kein Fehler aufgefangen und es scheitert einfach still.
Ich denke folgendes zu verwenden:
(actor ? GetRowCount()).mapTo[Either[Rejection, Any]] map {
case Left(x) => ctx.reject(x)
case Right(totalRows: Long) => ctx.complete(totalRows)
case _ => ctx.reject(Rejection("Type mismatch"))
}
Aber gibt es eine bessere Antwort?