2014-09-05 51 views

回答

5

不一定需要理解,一個簡單的方法涉及使用flatMap而不是identity

例如考慮

import scala.concurrent.Future 
import scala.concurrent.ExecutionContext.Implicits.global 

def f: Future[Future[(String,String)]] = Future { Future {("a","aa")} } 

然後

f.flatMap(identity) 
res: scala.concurrent.Future[(String, String)] = [email protected] 
1
import scala.concurrent.Future 
import scala.concurrent.ExecutionContext.Implicits.global 

val futureOfFutures: Future[Future[(String,String)]] = Future { Future {("a","aa")} } 
for(futureOfFuture <- futureOfFutures; futureResult <- futureOfFuture) yield futureResult 

萬一你想用的理解。這是你如何做到的。

相關問題