请注意https://doc.akka.io/api/akka/current/akka/stream/scaladsl/Flow.html上Flow类的定义,它具有 以下签名:
final class Flow[-In, +Out, +Mat]
问题是,为什么第三个参数的类型为+Mat
?我认为+Mat
仅对Sink
有意义,因为
Sink
使用流。
甚至Source
都有+Mat
:
final class Source[+Out, +Mat]
答案 0 :(得分:2)
每个阶段都体现出一定的价值,这使您能够使用SourceQueueWithComplete
时获得通过Source.queue
将元素推入流中的机制。
即使Flow可以实现某些值,但这也不常见,在这种情况下,您会看到实现的值为NotUsed
。