Pourriez-vous me dire comment préserver matérialisé Future[Int]
dans un exemple comme ça? Je voudrais obtenir Sink[Int, Future[Int]]
. J'ai regardé viaMat
, toMat
et n'ai pas pu le comprendre.Comment conserver la valeur matérialisée dans un lavabo personnalisé?
1
A
Répondre
2
Si vous voulez run()
le graphique tout au même endroit, il suffit d'utiliser toMat
+ Keep.right
val result: Future[Int] =
MergeHub.source[Int].grouped(100).toMat(Sink.fold(0) { case (count, items) => count + items.sum })(Keep.right).run()
si vous avez besoin de réutiliser votre « groupe + fold » évier, vous devez enlever la source et l'appel run
val sink: Sink[Int, Future[Int]] =
Flow[Int].grouped(100).toMat(Sink.fold(0) { case (count, items) => count + items.sum })(Keep.right)
Plus d'informations dans le docs.