在scala 2.12中,我可以编写以下代码
import scala.concurrent._
import scala.concurrent.ExecutionContext.Implicits.global
val x = Future(Future(10))
val y = x.flatten
但是,scala 2.11不提供flatten方法。任何想法如何在scala 2.11中实现相同的结果
编辑:猫图书馆可以提供帮助吗?
答案 0 :(得分:7)
使用flatMap
:
val y = x.flatMap(identity)
答案 1 :(得分:1)
不知道Cats,但Scalaz有方法join
:
val y = x.join
此外,此方法适用于所有Monads。