我如何不确定地展平无限FS2流

时间:2017-10-04 18:41:46

标签: scala concurrency scala-cats scalaz-stream fs2

我正在使用Scala的FS2 stream library

我有一个Stream[F, [Stream[F, A]],其中内部流和外部流都是无限的(Async有适当的F个实例。我想最终得到一个Stream[F, A]同时从外部流和内部流中拉出来,其中来自外部流的每个新元素都替换了我正在从中拉出的当前内部流。特别是我希望“最终”至少尝试从所有内部流中拉动(尽管我可能会被外部流中断)。

我尝试使用包含当前内部流的外部Async引用的尝试似乎在Interrupt异常被抛出时结束。

我不想要一个简单的flatMap甚至concurrent.join。因为我的内心是无限的,所以它们永远不会超过有限数量的内部流。

有没有办法用FS2实现这个目标?

0 个答案:

没有答案