问题:我有以下Future[Option[T]]
monad,我想申请scalaz Monad Transformer OptionT
它。因为我只对可选结果感兴趣。是否有可能改变单子序列?
问题:是否有可能以从Future[Option[T]]
保留语义Option[Future[T]]
?
问题:我有以下Future[Option[T]]
monad,我想申请scalaz Monad Transformer OptionT
它。因为我只对可选结果感兴趣。是否有可能改变单子序列?
问题:是否有可能以从Future[Option[T]]
保留语义Option[Future[T]]
?
使用.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
谢谢。但是从'Future [Option [T]]'得到'OptionT'有没有更简单的方法? –
我不确定我了解你的问题。 (这与monad变压器无关) – OlivierBlanvillain
请注意,你的问题是非常相似[这一个](https://stackoverflow.com/questions/38226203/scala-optionfuturet-to-futureoptiont),只能用逆转方向。 – slouc