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


Scala Future.flatMap用法及代碼示例


flatMap 方法(或屬性)屬於concurrent.Future特性(trait),其相關用法說明如下。

用法:

def flatMap[S](f: T => Future[S])(implicit executor: ExecutionContext): Future[S]

通過將函數應用於此未來的成功結果來創建新的未來,並將函數的結果作為新的未來返回。如果這個未來以異常完成,那麽新的未來也將包含這個異常。

例子:

val f = Future { 5 }
val g = Future { 3 }
val h = for {
  x: Int <- f // returns Future(5)
  y: Int <- g // returns Future(3)
} yield x + y

被翻譯成:

f flatMap { (x: Int) => g map { (y: Int) => x + y } }

類型參數:

S

返回的類型Future

值參數:

f

將應用於此 Future 成功結果的函數

返回:

一個Future,它將與函數應用的結果一起完成

源碼:

Future.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Future.flatMap。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。