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 Future.apply用法及代碼示例
- Scala Future.traverse用法及代碼示例
- Scala Future.reduce用法及代碼示例
- Scala Future.delegate用法及代碼示例
- Scala Future.recover用法及代碼示例
- Scala Future.fold用法及代碼示例
- Scala Future.recoverWith用法及代碼示例
- Scala Future.foldLeft用法及代碼示例
- Scala Future.fallbackTo用法及代碼示例
- Scala Future.reduceLeft用法及代碼示例
- Scala Future.map用法及代碼示例
- Scala Future.flatMap用法及代碼示例
- Scala Future.collect用法及代碼示例
- 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.andThen。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。