Я хотел бы ожидать будущего scala, которое может быть неудачным. Если я использую 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) }, но должен быть более простой способ.