【发布时间】:2017-09-04 20:21:03
【问题描述】:
我有以下测试方法
def test() = {
val aa = Future{10} map {
case x if x%2 == 0 => (x,x)
case _ => val kk = Future.failed(BadRequestException("dd")); kk
}
aa
}
如果我删除case _,那么方法的返回类型是Future[(Int, Int)],这正是我想要的。但是,当我添加case _ 场景时,返回类型变为Future[Object]。我无法理解我应该改变什么,因为我们的代码库中的其他类似方法做了类似的事情(我确信我遗漏了一些微妙的东西)并且返回类型仍然是性质Future[(Int, Int)]。毕竟,当我为某个场景抛出异常时,我不希望更改方法的返回类型。我错过了什么或做错了什么?
【问题讨论】: