collect
方法(或属性)属于concurrent.Future特性(trait),其相关用法说明如下。
用法:
def collect[S](pf: PartialFunction[T, S])(implicit executor: ExecutionContext): Future[S]
如果给定的偏函数定义为该值,则通过映射当前未来的值来创建新的未来。
如果当前未来包含定义了偏函数的值,则新未来也将保留该值。否则,由此产生的未来将失败并出现 NoSuchElementException
。
如果当前的未来失败了,那么由此产生的未来也失败了。
例子:
val f = Future { -5 }
val g = f collect {
case x if x < 0 => -x
}
val h = f collect {
case x if x > 0 => x * 2
}
g foreach println // Eventually prints 5
Await.result(h, Duration.Zero) // throw a NoSuchElementException
类型参数:
- S
返回的类型
Future
值参数:
- pf
PartialFunction
应用于此Future
的成功结果
返回:
一个
Future
保存PartialFunction
或NoSuchElementException
的应用结果源码:
- Future.scala
相关用法
- Scala Future.traverse用法及代码示例
- Scala Future.reduce用法及代码示例
- Scala Future.delegate用法及代码示例
- Scala Future.recover用法及代码示例
- Scala Future.fold用法及代码示例
- Scala Future.recoverWith用法及代码示例
- Scala Future.foldLeft用法及代码示例
- Scala Future.fallbackTo用法及代码示例
- Scala Future.reduceLeft用法及代码示例
- Scala Future.map用法及代码示例
- Scala Future.flatMap用法及代码示例
- Scala Future.andThen用法及代码示例
- Scala Future.apply用法及代码示例
- Scala Future.filter用法及代码示例
- 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.collect。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。