我正在尝试根据 question 调整我的代码.一切都很好,除了我的方法返回 scalaz.\/
而不是 scala.util.Either
。所以现在我必须写一个像这样的猴子代码:
def myFunction:Future[LeftBad \/ RightGood] = ...
val result = for {
x <- fromEither(myFunction.map(_.toEither))
} yield {
...
}
result.run
//etc
有没有办法从 Future[\/]
构造 EitherT
而无需 toEither
调用?
最佳答案
您可以使用 EitherT.eitherT(...)
或者只是 EitherT(...)
:
import scalaz._, Scalaz._
val futDisjunction: Future[String \/ Int] = Future.successful(\/-(5))
scala> EitherT(futDisjunction)
// scalaz.EitherT[scala.concurrent.Future,String,Int]
关于scala - 如何将 scalaz.EitherT.fromEither 应用于 scalaz.\/?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32228626/