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