匿名函数作为scala中的参数

Anonymous function as argument in scala

在 Play 2.3 中,Action.async 方法具有签名

final def async(block: ⇒ Future[Result]): Action[AnyContent]

没弄明白=> Future[Result]的意思,难道是匿名函数?那不应该是() => Future[Result]吗?

这是一个"By-name parameter":

  • Call by name vs call by value in Scala, clarification needed

  • By-name parameter vs anonymous function

这是按姓名呼叫,而不是像往常一样按价值呼叫。这意味着,这里的参数块是 Future[Result] 类型,并且在需要时不会立即在函数调用时进行惰性求值。