4
具有阿卡流Sink
:如何 「contramap」 阿卡流水槽
val sink: Sink[Foo, Any] = ???
和Bar
一個功能Foo
:
val f: Bar => Foo = ???
我想contramap(與相反的地圖)sink
與f
得到類型的接收器,但在庫中找不到這樣一個簡單的方法。如何實現我所需要的?
具有阿卡流Sink
:如何 「contramap」 阿卡流水槽
val sink: Sink[Foo, Any] = ???
和Bar
一個功能Foo
:
val f: Bar => Foo = ???
我想contramap(與相反的地圖)sink
與f
得到類型的接收器,但在庫中找不到這樣一個簡單的方法。如何實現我所需要的?
原來相當簡單。
創建Flow
接受Bar
S:
val flow: Flow[Bar, Bar, Unit] = Flow[Bar]
與f
流水線結果原來sink
圖吧:
val sink2: Sink[Bar, Unit] = flow.map(f).to(sink)
隨着2.4.X
akka-streams
版本,它是更簡單:
val sink3: Sink[Bar, Future[Done]] = sink.contramap(f)