我希望等待一个可能失败的 Scala Future。如果使用 Await.result,异常将被抛出。相反,如果我有 f: Future[String],我想要一个方法 Await.resultOpt(f): Option[String] 或 Await.resultEither(f): Either[String]。
我可以使用 scala.util.control.Exception.catching 来实现这一点,或者我可以使用 f map (Right(_)) recover { case t: Throwable => Left(t) },但必须有更直接的方法。
我可以使用 scala.util.control.Exception.catching 来实现这一点,或者我可以使用 f map (Right(_)) recover { case t: Throwable => Left(t) },但必须有更直接的方法。
Either[Throwable, Value]
更加友好。在我看来... - Randall Schulz