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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。