【发布时间】:2021-06-24 16:04:07
【问题描述】:
我想从队列中创建将所有元素打印到控制台的流。 当前的 sn-p 不打印任何内容:
object TestApp extends App {
implicit val contextShift: ContextShift[IO] = IO.contextShift(ExecutionContext.global)
private val value: IO[(fs2.Stream[IO, Unit], String => IO[Unit], () => IO[Unit])] = for {
queue <- Queue.noneTerminated[IO, String]
} yield {
val stream: fs2.Stream[IO, Unit] = queue.dequeue.map(println)
def send(msg: String): IO[Unit] = queue.enqueue1(Some(msg))
def close(): IO[Unit] = queue.enqueue1(None)
(stream, send _, close _)
}
val (stream, send, close) = value.unsafeRunSync()
send("msg1").unsafeRunSync()
send("msg2").unsafeRunSync()
}
流创建有什么问题?
【问题讨论】:
标签: scala cats-effect fs2