Scala如何返回异步字符串

时间:2016-02-07 21:48:56

标签: scala asynchronous

我有一个登录表单,尝试使用他们的电子邮件和密码登录用户,并以异步方式完成。我首先检查电子邮件或密码字段是否为空,如果是,那么我想将其还原。问题是我是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()?其余的代码工作正常。

1 个答案:

答案 0 :(得分:2)

简单地将其包装成一个成功的未来:

Future.successful(Ok("Empty Fields"))