【发布时间】:2020-09-08 06:19:51
【问题描述】:
如何将可能成功或失败的Future[A] 转换为EitherT[Future, Throwable, A] 或Future[Try[A]]。
future.transform(result => Success(result))
EitherT(future.transform(result => Success(result.toEither)))
标准库或 Cats 中是否有实现上述转换的方法?
【问题讨论】:
-
future.transform(Success(_))不好吗?这很简单,为什么你需要另一个库来做到这一点? -
我希望 Cats 有一些实用功能,可以简化进一步的处理。现在我有很多像这样的代码
OptionT(future.transform(result => Success(result.toOption)))) -
@texasbruce 我已经澄清了这个问题。这是我所期望的更具体,这个问题最初被问得有点不利。
标签: scala scala-cats