如何使用 PartialFunction.applyOrElse



我有一个名为errorMapPartialFuncton[Throwable,Future[Result]],用于将可抛出的东西转换为结果或失败的未来。我可以通过lift和这样的getOrElse来做到这一点:

val x: Future[Result] = errorMap.lift(e).getOrElse(Future.failed(e))

我认为applyOrElse也应该可以实现同样的事情,但我似乎不知道如何称呼它来实现这一目标。我误解了applyOrElse的用途吗?

applyOrElse的第二个参数需要一个函数——在你的例子中是一个(Throwable) => Future[Result]

给它传递一个函数,如下所示:

errorMap.applyOrElse(e, _ => Future.failed(e))

或者干脆

errorMap.applyOrElse(e, Future.failed)

相关内容

  • 没有找到相关文章

最新更新