我正在寻找一个"聚合器"在akka-streams中阻止。例如,一个块等到它收到3个字符串然后触发一个动作 - 比如评估平均长度 - 并向下游传播动作的结果。
流程会等待接收三个字符串,比如说
"hallo"
"boat"
"cat"
然后评估平均长度
4
并将其发送到下游。最简单的方法是什么?
答案 0 :(得分:0)
这取决于要求,但在您的特定情况下,您可以
Source(List(1, 2, 3, 4, 5, 6, 7))
.grouped(3)
.map { chunk =>
chunk.sum / 3.0
}
您也可以使用.scan
执行此操作的变体。