当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala Future.flatMap用法及代码示例


flatMap 方法(或属性)属于concurrent.Future特性(trait),其相关用法说明如下。

用法:

def flatMap[S](f: T => Future[S])(implicit executor: ExecutionContext): Future[S]

通过将函数应用于此未来的成功结果来创建新的未来,并将函数的结果作为新的未来返回。如果这个未来以异常完成,那么新的未来也将包含这个异常。

例子:

val f = Future { 5 }
val g = Future { 3 }
val h = for {
  x: Int <- f // returns Future(5)
  y: Int <- g // returns Future(3)
} yield x + y

被翻译成:

f flatMap { (x: Int) => g map { (y: Int) => x + y } }

类型参数:

S

返回的类型Future

值参数:

f

将应用于此 Future 成功结果的函数

返回:

一个Future,它将与函数应用的结果一起完成

源码:

Future.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 Future.flatMap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。