0
我試圖用理解來執行系列期貨清單。一個未來的輸出成爲未來未來的輸入。以下是示例代碼。For comprehension Dynamic List of Futures:Scala
for {
x <- plugins(0).execute(input)
y <- plugins(1).execute(x)
z <- plugins(2).excute(y)
} yield z
上面的代碼更像瀑布,每個插件(i)在某些輸入上執行,並將輸出傳遞給下一個插件。最後一個插件的輸出是最終輸出。 插件是一個Seq插件對象。 execute方法返回一個Future。我想讓上面的代碼更通用,其中插件的插件數量是動態的。我如何去實現它。
你能解釋一下上面的代碼是如何工作的,我仍然試圖找到scala的方法。謝謝。 – konquestor
你不明白什麼? 這裏有兩個工具在使用:'foldLeft' http://www.scala-lang.org/api/2.11.4/index.html#[email protected][B](z:B )(f:(B,A)=> B):B和'flatMap' http://www.scala-lang.org/api/2.11.4/index.html#[email protected][S ](F:T => scala.concurrent.Future [S])(implicitexecutor:scala.concurrent.ExecutionContext):scala.concurrent.Future [S]。看看這些鏈接,看看你是否明白這些功能的作用。 – Dima
爲什麼我們需要Future.successful,什麼是下劃線? – konquestor