當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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