【发布时间】:2016-12-02 02:40:36
【问题描述】:
我在future recover 行中收到以下编译错误:
类型不匹配;发现:需要 scala.concurrent.Future[Any]: scala.concurrent.Future[play.api.mvc.Result]
我返回 Ok() 这是一个 Result 对象,那么为什么编译器会抱怨?
class Test2 extends Controller {
def test2 = Action.async { request =>
val future = Future { 2 }
println(1)
future.map { result => {
println(2)
Ok("Finished OK")
}
}
future.recover { case _ => { // <-- this line throws an error
println(3)
Ok("Failed")
}
}
}
}
【问题讨论】:
-
不,你不是! :D 您正在返回值
2或Ok("Failed")。这不是 Java,你不能这样做return thisStuff else .. return that...。您从方法返回的最后一个对象是结果...请参阅下面的答案。
标签: scala playframework playframework-2.5