答案 0 :(得分:1)
Future.map方法正在接受函数来映射Future
的结果,因此对于您的代码,它的映射{{1} } result
结果,等于:
Future
如上面的代码所示,您尝试返回 result.map(writeResult: WriteResult => {
case Success => entity
case Failure(f) => f.printStackTrace()
})
和WriteResult
,因此Unit
结果类型为map
,并返回Any
类型。所以抛出类型不匹配编译错误。
实际上你需要的是:Future[Any]
。并且您可以调用result.map(writeResult: WriteResult => entity)
方法,如:
create
答案 1 :(得分:1)
我怀疑你真正想要的是Future.transform
而不是map
。像这样的东西
val result: Future[WriteResult] = ???
result.transform(_ => entity,
e => {
e.printStackTrace()
e // or return here your custom wrapper exception
})