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來實作不同的回調邏輯。