无法找出最适合将EitherT[Future, Throwable, A]
折叠到Future[A]
的惯用方式,其中Either
的左侧将表示为失败的Future
。
答案 0 :(得分:0)
简单的直接折叠是不是很好?
foo.fold(Future.failed, Future.successful).flatten
答案 1 :(得分:0)
你可以使用fold
并抛出你在左侧找到的Throwable
val foo: EitherT[Future, Throwable, A] = ???
import cats.instances.future._
foo.fold(throw _, identity)