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


Scala Future.andThen用法及代码示例


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-lang.org大神的英文原创作品 Future.andThen。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。