代码语言:javascript复制
class SendResponse(request: Request,
val responseSend: Send,
val responseAsString: Option[String],
val onCompleteCallback: Option[Send => Unit])
extends Response(request) {
......
// 指定输入参数onCompleteCallback
override def onComplete: Option[Send => Unit] = onCompleteCallback
}
Scala中的Unit类似于Java中的void
Send => Unit
表示一个方法。该方法接收Send类实例,然后执行一段代码逻辑。
Scala是函数式编程语言,因此可以把一个函数作为一个参数传给另一个函数,也可以把函数作为结果返回。这里的onComplete方法就应用了第二种用法,也就是把函数赋值给另一个函数,并作为结果返回。这样做的好处在于,你可以灵活地变更onCompleteCallback来实现不同的回调逻辑。