控制器中的多个确定不正常

时间:2014-08-07 11:42:36

标签: scala playframework response

我期待tf作为回复,但是给予hello

def check1 = Action { implicit request =>
    val flag=List(true,false)
      if(Random.shuffle(flag).head){
        println("true")
        Ok("t")
      }else{
         println("false")
          Ok("f")
      }
    Ok("hello")
  }

为什么会这样?

我认为它不会执行最后一次确定第一次确定会给出响应而剩下的代码将无法执行

2 个答案:

答案 0 :(得分:2)

您的if/else块始终返回Result(结束操作并将内容发送到浏览器),请改用:

def check1 = Action { implicit request =>
    val flag=List(true,false)
      if(Random.shuffle(flag).head){
        println("true")
        Ok("t")
      }else{
         println("false")
          Ok("hello")
      }
  }

def check1 = Action { implicit request =>
    val flag=List(true,false)
      if(Random.shuffle(flag).head){
        println("true")
        Ok("t")
      }

    Ok("hello")

  }

答案 1 :(得分:2)

当然,你得到"hello",这是你阻止的最后一句话 - 我真的不明白这一点Ok("hello")实际上,一切都会好起来的很好没有它。您的if/else有值"t""f",但您从不使用它。

这将有效:

def check1 = Action { implicit request =>
  val flag=List(true,false)
  if(Random.shuffle(flag).head){
    println("true")
    Ok("t")
  }else{
    println("false")
    Ok("f")
  }
}