簡體   English   中英

如何“對抗”akka-streams Sink

[英]How to “contramap” akka-streams Sink

akka-streams Sink

val sink: Sink[Foo, Any] = ???

以及從BarFoo的功能:

val f: Bar => Foo = ???

我想contramap( 地圖的對面) sinkf得到類型的水槽Sink[Bar, Any] ,但無法找到在庫中這樣的簡單方法。 如何實現我的需求?

事實證明這很簡單。

創建Flow接受Bar

val flow: Flow[Bar, Bar, Unit] = Flow[Bar]

並使用f pipelining結果將其映射到原始接收sink

val sink2: Sink[Bar, Unit] = flow.map(f).to(sink)

使用akka-streams版本2.4.X它甚至更簡單:

val sink3: Sink[Bar, Future[Done]] = sink.contramap(f)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM