我想以一种我想将 onSuccess 块分解为新方法的方式更改以下代码片段。JSON 编组应该仍然有效。
(patch & parameterMap & asJson) { params =>
...
val f:Future[ResposeData]=createResponse(...)
onSuccess(f){complete(_)}
}
我想要一个像这样的方法:
def handleSuccess(f:Future/FutureMagnet)(implicit ...)
一个简单的重构对我不起作用。我尝试了很多组合,但找不到正确的签名或有效的代码。
例子:
def handleSuccess(f: Future[ResposeData]): Unit = {
onSuccess(f) { complete(_) }
}
Error:(43, 15) type mismatch;
found : scala.concurrent.Future[ResponseData]
required: spray.routing.directives.OnSuccessFutureMagnet
onSuccess(f) {
^
如果我现在更改签名,我会收到另一个错误:
def handleSuccess(f: OnSuccessFutureMagnet)
Error:(44, 18) spray.routing.Directive[f.Out] does not take parameters
onSuccess(f) {
^
也许这只是一件简单的事情,但我是新手。因此,如果有人可以提供提示,那就太好了。
谢谢