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


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