我有以下代碼:SCALA - 表達(爲{}收率x)是類型未來[未來[..]]代替預期未來[..]
val futureWithResult = for{files <- scanFiles(dir)
res <- procFiles(files)}yield res
RES是Future[...]
類型的,爲什麼這個聲明返回Future[Future[..]]
?? 在我的程序中,我需要futureWithResult爲Future[...]
。爲什麼我的收益代碼將res的類型包裝到另一個Future[]
?
scanFiles和procFiles方法的返回類型是什麼? –
scanFiles - Seq [String] procFiles - Future [Seq [(String,Int)]] [。 。 。]在我的問題代表類型Seq [(String,Int)] – DorianOlympia
@DorianOlympia,給定類型'scanFiles:Seq [String]'和'procFiles:Future [Seq [(String,Int)]]'你不能寫一個理解,因爲'scanFiles'的'flatMap'需要一個'GenTraversableOnce'值,而未來值不是。因此,你的代碼不應該編譯。 –