我将一个函数从:
def submit = Action { request =>
signupForm.bindFromRequest()(request).fold(
// Form has errors
errors => BadRequest(html.signup.form(errors)),
// We got a valid User value, display the summary
user => {
// intensive computation involving database
Ok("okay")
}
)
}至
def submit = Action { request =>
val result = Akka.future {
signupForm.bindFromRequest()(request).fold(
// Form has errors
errors => BadRequest(html.signup.form(errors)),
// We got a valid User value, display the summary
user => {
// intensive computation involving database
Ok("okay")
}
)
}
Async {
result
}
}我得到的编译错误是:
[error] found : play.api.mvc.SimpleResult[_ >: java.lang.String with play.api.templates.Html <: java.io.Serializable]
[error] required: play.api.mvc.SimpleResult[_1(in value result)] where type _1(in value result) >: java.lang.String with play.api.templates.Html <: java.io.Serializable
[error] Note: java.io.Serializable >: _1, but class SimpleResult is invariant in type A.
[error] You may wish to define A as -A instead. (SLS 4.5)
[error] signupForm.bindFromRequest()(request).fold(
[error] ^
[error] one error found错误消息似乎与方差有关。有人知道这是怎么回事吗?
发布于 2012-10-22 09:12:16
BadRequest正在返回类型SimpleResult[Html]
Ok正在返回类型SimpleResult[String]
如果您让BadRequest和Ok返回相同的类型,那么它将会起作用。
试着做Ok(Html("ok")) -或者实际呈现一个页面。
https://stackoverflow.com/questions/13001797
复制相似问题