2

スロー可能なものを結果または失敗した未来に変換するために呼び出されたPartialFuncton[Throwable,Future[Result]]errorMapがあります。lift私は次のようにそれを行うことができますgetOrElse

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

で同じことが達成できるはずだとapplyOrElse思いますが、この目的を達成するためにそれを呼び出す方法がわかりません。私は何applyOrElseのためにあるのか誤解していますか?

4

1 に答える 1

6

の 2 番目の引数applyOrElseは関数を受け取ります。この場合、(Throwable) => Future[Result]

次のような関数を渡します。

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

または単に

errorMap.applyOrElse(e, Future.failed)

于 2015-04-24T04:49:46.213 に答える