2017-07-24 114 views
1

我是使用Akka Streams API的新手。我正在嘗試創建自定義圖形階段。對於我的每個階段,我希望每個「元素」都是一個scala集合,例如整數向量。但是,當我使用Source(Vector(1,2,3))或沿着這些行時,它會單獨傳遞元素1,2,3。有沒有一種方法可以在整個矢量中傳遞,因爲階段的結果取決於矢量內項目之間的關係?目前我使用List作爲「包裝」,但我不喜歡這種解決方案。提前致謝。如何在Akka Streams中使用集合作爲源?

示例代碼:

val graphStage: Graph[FlowShape[Vector[Int], Vector[Int]], NotUsed = new GraphStage 

val vector = Source(Vector(1,2,3)) //passes in 1, 2, 3 individually, want Vector(1,2,3) passed in whole 

val resultFuture = vector.via(graphStage).runForeach(_ => println) 

回答

1

你可以使用Source.single

val vector = Source.single(Vector(1, 2, 3)) 
+0

偉大的工作,感謝你的輕鬆搞定! –

相關問題