RxJava2 setCancellable против doFinally - PullRequest
0 голосов
/ 05 ноября 2018

Вызывается ли действие в setCancellable при тех же обстоятельствах, что и doFinally? В следующем примере я могу просто использовать setCancellable, или doFinally покрывает больше случаев?

var closeable: Closeable? = null

Flowable.defer {
    Flowables.create<Closeable>(BackpressureStrategy.BUFFER) { emitter ->
        val c = getCloseable()

        emitter.setCancellable { c.close() }

        if(!emitter.isCancelled) emitter.onNext(c)
    }
    .doFinally { closeable?.close() }
}
...