Arn*_*sen 2 scala partialfunction
我有一个PartialFuncton[Throwable,Future[Result]]名为errorMap的函数,用于将throwable转换为结果或将来失败.我可以通过做lift和getOrElse这样的:
val x: Future[Result] = errorMap.lift(e).getOrElse(Future.failed(e))
Run Code Online (Sandbox Code Playgroud)
我认为同样应该可以实现applyOrElse,但我似乎无法弄清楚如何调用它来实现这一目标.我误解了什么applyOrElse是为了什么?
applyOrElse接受函数的第二个参数 - 在你的情况下是一个(Throwable) => Future[Result]
传递一个这样的函数:
errorMap.applyOrElse(e, _ => Future.failed(e))
或者干脆
errorMap.applyOrElse(e, Future.failed)
| 归档时间: |
|
| 查看次数: |
2081 次 |
| 最近记录: |