Scala 2.11中的flatten方法的等效处理嵌套期货

时间:2017-02-27 17:32:31

标签: scala

在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中实现相同的结果

编辑:猫图书馆可以提供帮助吗?

2 个答案:

答案 0 :(得分:7)

使用flatMap

val y = x.flatMap(identity)

答案 1 :(得分:1)

不知道Cats,但Scalaz有方法join

val y = x.join

此外,此方法适用于所有Monads。