gpt4 book ai didi

scala - 如何使用 PartialFunction.applyOrElse

转载 作者:行者123 更新时间:2023-12-02 08:28:18 24 4
gpt4 key购买 nike

我有一个名为 errorMapPartialFuncton[Throwable,Future[Result]] 将 throwable 转换为结果或失败的 future 。我可以像这样通过 liftgetOrElse 做到这一点:

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)

关于scala - 如何使用 PartialFunction.applyOrElse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29838820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com