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 Future.fold用法及代码示例
- Scala Future.foldLeft用法及代码示例
- Scala Future.fallbackTo用法及代码示例
- Scala Future.filter用法及代码示例
- Scala Future.traverse用法及代码示例
- Scala Future.reduce用法及代码示例
- Scala Future.delegate用法及代码示例
- Scala Future.recover用法及代码示例
- Scala Future.recoverWith用法及代码示例
- Scala Future.reduceLeft用法及代码示例
- Scala Future.map用法及代码示例
- Scala Future.andThen用法及代码示例
- Scala Future.collect用法及代码示例
- Scala Future.apply用法及代码示例
- Scala Function1.unlift用法及代码示例
- Scala Float isInfinite()用法及代码示例
- Scala FlatMap.transpose用法及代码示例
- Scala FilterKeys.tails用法及代码示例
- Scala Fill.groupMapReduce用法及代码示例
- Scala Filter.sliding用法及代码示例
- Scala Fill.sizeIs用法及代码示例
- Scala Fill.groupMap用法及代码示例
- Scala Filter.groupBy用法及代码示例
- Scala FlatMap.addString用法及代码示例
- Scala FlatMap.sizeCompare用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 Future.flatMap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。