+Mat 是什么意思?
What does +Mat mean?
查看 https://doc.akka.io/api/akka/current/akka/stream/scaladsl/Flow.html 上流 class 的定义,它有
以下签名:
final class Flow[-In, +Out, +Mat]
问题来了,为什么第三个参数的类型是+Mat
?我想,+Mat
只对 Sink
有意义,因为
Sink
消耗流。
即使 Source
也有 +Mat
:
final class Source[+Out, +Mat]
每个阶段都会具体化一些值,这使您能够在使用 Source.queue
.[=13= 时获得通过 SourceQueueWithComplete
将元素推送到流中的机制]
即使 Flow 也可以具体化为某个值,但这并不常见,在这种情况下,您会看到具体化的值为 NotUsed
。
查看 https://doc.akka.io/api/akka/current/akka/stream/scaladsl/Flow.html 上流 class 的定义,它有 以下签名:
final class Flow[-In, +Out, +Mat]
问题来了,为什么第三个参数的类型是+Mat
?我想,+Mat
只对 Sink
有意义,因为
Sink
消耗流。
即使 Source
也有 +Mat
:
final class Source[+Out, +Mat]
每个阶段都会具体化一些值,这使您能够在使用 Source.queue
.[=13= 时获得通过 SourceQueueWithComplete
将元素推送到流中的机制]
即使 Flow 也可以具体化为某个值,但这并不常见,在这种情况下,您会看到具体化的值为 NotUsed
。