我目前有以下代码:
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方法可用于Observableand Task(可能甚至更多的类),这可能是我正在寻找的 - 但我不太明白如何。