尝试学习RXJava2的Completable.andThen()
。
fun main(args: Array<String>) {
showTime()
.andThen(showTime())
.subscribe()
}
private fun showTime(): Completable =
Completable.create {
println(System.currentTimeMillis())
}
我希望上面的代码可以打印两次,但是只能打印一次。我在做什么错了?
答案 0 :(得分:2)
andThen
只是concatWith
运算符的快捷方式。第二个showTime
永远不会被订阅,因为您永远不会调用onComplete
-在lambda中有一个CompletableEmitter
对象。
您的方法应为:
private fun showTime(): Completable =
Completable.create {
println(System.currentTimeMillis())
it.onComplete()
}