我目前有以下代码:
val writer: PrintWriter = ???
val linesObservable: Observable[String] = ???
val future: CancelableFuture[Unit] = linesObservable.foreach(writer.write)
writer.close()
我的目标是消除上述代码段中的所有副作用。
从功能的角度来看,writer
应该充当future
.
因为我使用的是 Monix 版本3.0.0-RC2
,所以有新的bracket
方法可用于Observable
and Task
(可能甚至更多的类),这可能是我正在寻找的 - 但我不太明白如何。