andThen
方法(或属性)属于concurrent.Future特性(trait),其相关用法说明如下。
用法:
def andThen[U](pf: PartialFunction[Try[T], U])(implicit executor: ExecutionContext): Future[T]
将side-effecting 函数应用于这个未来的结果,并返回一个带有这个未来结果的新未来。
此方法允许强制以指定的顺序执行回调。
请注意,如果链接的 andThen
回调之一引发异常,则该异常不会传播到后续的 andThen
回调。相反,随后的andThen
回调被赋予这个未来的原始值。
以下示例打印出 5
:
val f = Future { 5 }
f andThen {
case r => throw new RuntimeException("runtime exception")
} andThen {
case Failure(t) => println(t)
case Success(v) => println(v)
}
由于此方法异步执行且不产生返回值,因此抛出的任何非致命异常都将报告给 ExecutionContext
。
类型参数:
- U
仅用于接受给定
PartialFunction
的任何返回类型
值参数:
- pf
一个
PartialFunction
将有条件地应用于此Future
的结果
返回:
一个
Future
,它将以与此Future
完全相同的结果完成,但在执行PartialFunction
之后.源码:
- Future.scala
相关用法
- Scala Future.apply用法及代码示例
- 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.collect用法及代码示例
- 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.andThen。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。