2016-05-06 2 views
1

Я хочу передать неявный параметр частичной функции, которую я использую для recover my Future s.Как передать неявный параметр `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 [email protected](message) => ... and here 
    case _ => ... and here 
} 

ответ

2

Тогда ваши errorHandler потребности получить something как implicit parameter:

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

def errorHandler(implicit something: Something): PartialFunction[Throwable, Result] = { 
    // Access something here 
    case [email protected](message) => ... and here 
    case _ => ... and here 
} 
+0

Спасибо! Это была моя первая попытка! Но почему-то я слишком много думал и думал, что это не сработает !! Существует еще одна проблема, но для этого нужен еще один вопрос: «errorHandler» - это значение в суперклассе, которое мне нужно переопределить, но, вероятно, я получу ошибку компиляции, если я переопределю его с помощью 'def' с параметром' implicit' –

Смежные вопросы