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 Future.recover用法及代码示例
- Scala Future.reduce用法及代码示例
- Scala Future.reduceLeft用法及代码示例
- Scala Future.traverse用法及代码示例
- Scala Future.delegate用法及代码示例
- Scala Future.fold用法及代码示例
- Scala Future.foldLeft用法及代码示例
- Scala Future.fallbackTo用法及代码示例
- Scala Future.map用法及代码示例
- Scala Future.flatMap用法及代码示例
- Scala Future.andThen用法及代码示例
- Scala Future.collect用法及代码示例
- 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.recoverWith。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。