下面的代码无法编译,我不知道如何修复它。
def doAsync(n: Int) = Action {
import scala.concurrent.ExecutionContext.Implicits.global
Async {
val f1 = Future.successful(n)
f1.map(x => x match {
case 10 => Ok("first")
case _ => {
val f2 = Future.successful(n)
f2.map(y => Ok("second"))
}
})
}
}
该行f2.map(y => Ok("second"))
产生编译错误:
类型不匹配; 找到:scala.concurrent.Future[play.api.mvc.SimpleResult[String]] 需要:play.api.mvc.Result
核心"business logic" is: f2
只必须运行if n is not 10
。