【发布时间】:2020-02-18 16:24:34
【问题描述】:
我有这样的价值:
val ss: Option[Future[List[Either[Error, File]]]]
而我想做的就是把它提升到EitherT.liftF[Future, Error, List[Either[Error, File]]],所以我做的是这样的:
ss match {
case Some(value) => EitherT.liftF[Future, Error, List[Either[Error, File]]](value)
case None => EitherT.leftT[Future, List[Either[Error, File]]](Error("failed"))
}
我的问题是我可以使用 EitherT.liftF 来提升一个已经是未来的值是否正确,因为我认为通常它用于需要提升到未来的值,而不是未来的值自己。
【问题讨论】:
-
是的,没错,就是使用
EitherT.liftF- 查看文档:typelevel.org/cats/api/cats/data/… -
好吧,未来一开始甚至都无法取消……但说实话。不知道将 Future 与 EitherT 一起使用是否有问题,我从未在实际代码中使用过期货。
标签: scala scala-cats