Play Framework(Scala) 编译不工作 属性

Play Framework(Scala) Compilation not working propery

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]

编译器给我这个错误。我不知道为什么我检查了一切。它工作正常。

auth 的类型不是 Future[Result],它是 Future[T],其中 T 与 [=14= 不共享父 class ].这使得 getOrElse 将公共父级推断为 java.lang.Object,从而使 return 类型不正确。

您需要修正您的 for-yield 声明。