2017-01-31 12 views
0
val auth = for{....} yield {....} 
val redirect : Result = Redirect(routes.PageController.landing()) 
auth.getOrElse{ 
    Future(redirect) 
} 

Ошибка:Play Framework (Scala) Компиляция не работает Собственость

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

Компилятор дает мне эту ошибку. Я не знаю, почему я проверил все. Он работал правильно.

ответ

2

Тип auth не Future[Result], это Future[T], где T не разделяет родительский класс с Result. Это делает getOrElse выводом общего родителя как java.lang.Object, что делает неправильный тип возврата.

Вам необходимо исправить ваш оператор for-yield.

+0

Прошу прощения за задержку, и я закончил свой проект благодаря вам :). В противном случае я бы много боролся. – Orkunkl