私はこの方法を持っています:
def findById(id: String): Customer = {
(new CustomerDaoEs).retrieve(Id[Customer](id)) onComplete {
case Success(customer) => customer
case Failure(t) => {
throw new InvalidIdException(id.toString, "customer")
}
}
}
もちろん、問題は、これが Customer ではなく Unit を返すことです... したがって、基本的に onComplete は実際にはパターン マッチングのようには動作しません。
Customer (または Option[Customer]) を返し続け、これをうまく機能させる方法はありますか (この onComplete のクリーンな構造を維持することを意味します)。