我最近开始用Akka/Scala编码,我遇到了以下问题:
在范围内进行隐式转换,例如:
implicit def convertTypeAtoTypeX(a: TypeA): TypeX =
TypeX() // just some kinda conversion
Run Code Online (Sandbox Code Playgroud)
这有效:
returnsAFuture.mapTo[TypeX].map { x => ... }
Run Code Online (Sandbox Code Playgroud)
但这不是:
returnsAFuture.mapTo[TypeX].onComplete { ... }
Run Code Online (Sandbox Code Playgroud)
后者因类型转换异常而失败.(即TypeA不能转换为TypeX)
非常困惑.为什么?我怀疑它与Try有关,但我不知道要么猜到任何答案:(
谢谢!