Play Framework(Scala)编译无法正常工作

时间:2017-01-31 18:03:45

标签: scala playframework sbt typesafe-activator

val auth = for{....} yield {....}
val redirect : Result = Redirect(routes.PageController.landing())
auth.getOrElse{
  Future(redirect)
}

错误:

/home/orkun/Workspace/DatabaseProject/app/controllers/PageController.scala:104: 
type mismatch;
   found   : scala.concurrent.Future[Object]
   required:  scala.concurrent.Future[play.api.mvc.Result]

编译器给我这个错误。我不知道为什么我会检查每一件事。它运作正常。

1 个答案:

答案 0 :(得分:2)

auth的类型不是Future[Result],而是Future[T],其中TResult不共享父类}。这使getOrElse将公共父推断为java.lang.Object,使得返回类型不正确。

您需要修正for-yield声明。