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


Scala Future.recoverWith用法及代码示例


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

用法:

def recoverWith[U >: T](pf: PartialFunction[Throwable, Future[U]])(implicit executor: ExecutionContext): Future[U]

创建一个新的未来,该未来将通过为其分配另一个未来的值来处理该未来可能包含的任何匹配的投掷物。

如果没有匹配,或者如果这个未来包含一个有效的结果,那么新的未来将包含相同的结果。

例子:

val f = Future { Int.MaxValue }
Future (6 / 0) recoverWith { case e: ArithmeticException => f } // result: Int.MaxValue

类型参数:

U

返回的类型Future

值参数:

pf

如果此 Future 失败,则应用 PartialFunction

返回:

一个 Future 与此 Future 的成功值或 PartialFunction 返回的 Future 的结果

源码:

Future.scala

相关用法


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