2017-09-06 59 views
1

问题:我有以下Future[Option[T]] monad,我想申请scalaz Monad Transformer OptionT它。因为我只对可选结果感兴趣。是否有可能改变单子序列?

问题:是否有可能以从Future[Option[T]]保留语义Option[Future[T]]

+0

请注意,你的问题是非常相似[这一个](https://stackoverflow.com/questions/38226203/scala-optionfuturet-to-futureoptiont),只能用逆转方向。 – slouc

回答

1

使用.sequence

scala> import scalaz._, Scalaz._, ... 

scala> val a: Future[Option[Int]] = Future(None) 
a: Future[Option[Int]] = Future(Success(None)) 

scala> val b = a.sequence 
b: Option[Future[Int]] = None 
+0

谢谢。但是从'Future [Option [T]]'得到'OptionT'有没有更简单的方法? –

+0

我不确定我了解你的问题。 (这与monad变压器无关) – OlivierBlanvillain

相关问题