В настоящее время у меня есть следующий код:
val writer: PrintWriter = ???
val linesObservable: Observable[String] = ???
val future: CancelableFuture[Unit] = linesObservable.foreach(writer.write)
writer.close()
Моя цель - избавиться от всех побочных эффектов в приведенном выше фрагменте.
С функциональной точки зрения writer
должно действоватькак ресурс / скобка для future
.
Поскольку я использую версию Monix 3.0.0-RC2
, для Observable
и Task
доступны (* возможно, даже больше классов) новые методы bracket
(возможно, даже больше классов), которые могутбудь то, что я ищу - но я пока не совсем понимаю, как это сделать.