我有一个登录表单,尝试使用他们的电子邮件和密码登录用户,并以异步方式完成。我首先检查电子邮件或密码字段是否为空,如果是,那么我想将其还原。问题是我是scala的新手,并且不知道如何以异步方式返回字符串。这是我的代码
def login= Action.async {implicit request=>
case class Login(password:String,email:String)
val formm = Form(mapping(
"email"->text,
"password" -> text)(Login.apply)(Login.unapply))
val getData= formm.bindFromRequest.get
val email = getData.email
var password = getData.password
var idd = -1;
if (email.isEmpty() || password.isEmpty()) {
// How can I make this Ok() return back async
Ok("Empty Fields");
}
else
{
val tryout =
sql"""select id,password from profiles where email=$email and password=$password;""".as[(Int,String)]
db.run(tryout).map { Result =>
Ok(Result.toString())
}
}
我的问题是If块中的Ok()如何让它以异步方式返回Ok()?其余的代码工作正常。
答案 0 :(得分:2)
简单地将其包装成一个成功的未来:
Future.successful(Ok("Empty Fields"))