这里是代码一小段:RxJava2:不是的onComplete与所谓flatMapIterable
val subject = BehaviorSubject.createDefault(emptyList<Int>())
subject.onNext(Arrays.asList(1, 2, 3))
subject.flatMapIterable { list: List<Int> -> list }
.subscribeBy(
onNext = { l("on next", it) },
onComplete = { l("on complete") }
)
为什么onComplete
没有不叫吗?我应该怎么做这个代码?因为在原始代码中我不能使用.toList()
方法。
你为什么要使用'BehaviorSubject'采取在它最多一个项目?你必须明确地调用onComplete()。 – akarnokd
为什么'onComplete'在这里被调用?你的主题还没有完成发布项目 - 你仍然可以通过项目调用onNext。 – zsmb13
@ zsmb13所以调用onCompete与主题相同?我认为它将通过flatMapIterable中的observable重新定义。 –