Есть ли время жизни в RxJava или RxKotlin? - PullRequest
0 голосов
/ 15 ноября 2018

Библиотека JetBrains / rd имеет концепцию Lifetime, которую можно рассматривать как инвертированную версию AutoCloseable или IDisposeable (см. здесь и здесь для получения более подробной информации).

Простейшим примером варианта использования будет что-то вроде этого:

import com.jetbrains.rider.util.lifetime.Lifetime
import com.jetbrains.rider.util.lifetime.onTermination
import java.io.FileInputStream
import java.io.InputStream

class LifetimeExample(lifetime: Lifetime, private val input: InputStream) {
    init {
        lifetime.onTermination {
            input.close()
            println("File closed.")
        }
    }

    fun process() {
        println("${input.bufferedReader().readText().length} char(s) read.")
    }

    companion object {
        @JvmStatic
        fun main(vararg args: String) {
            Lifetime.using {
                LifetimeExample(it, FileInputStream("/etc/passwd")).process()
            }
        }
    }
}

Есть ли аналогичная концепция в любом RxJava или RxKotlin ?

...