1

我想将隐式参数传递给我使用的部分recover函数Future

def delete(id: Long) = ... { implicit something =>
  serviceLayer.doSomething(id).recover(errorHandler)
}

def errorHandler: PartialFunction[Throwable, Result] = {
    // I want to access the implicit parameter here
    case e@SomeException(message) => ... and here
    case _ => ... and here
}
4

1 回答 1

2

然后您errorHandler需要something作为隐式参数接收:

def delete(id: Long) = ... { implicit something =>
  serviceLayer.doSomething(id).recover(errorHandler)
}

def errorHandler(implicit something: Something): PartialFunction[Throwable, Result] = {
    // Access something here
    case e@SomeException(message) => ... and here
    case _ => ... and here
}
于 2016-05-06T03:00:02.527 回答