Creating Flowable from Observable
The Observable.toFlowable() operator provides you with another way to implement BackpressureStrategy into non-backpressured source. This operator turns any Observable into a Flowable, so let's get our hands dirty, and, first, let's try converting an Observable into Flowable with the buffering strategy, then we will try out a few other strategies in the same example to understand it better. Please refer to the following code:
fun main(args: Array<String>) {
val source = Observable.range(1, 1000)//(1)
source.toFlowable(BackpressureStrategy.BUFFER)//(2)
.map { MyItem7(it) }
.observeOn(Schedulers.io())
.subscribe{//(3)
print("Rec. $it;\t")
runBlocking { delay(1000) }
}
runBlocking { delay(100000) }
}
data class MyItem7 (val id:Int) {
init {
print("MyItem init $id")
}
} So, on comment (1), we created an Observable with the Observable...