【发布时间】:2018-05-31 14:32:58
【问题描述】:
我有一个场景
subject1: PublishSubject 和 subject2:BehaviorSubject。
首先,我为subject1 发出单个项目,然后我为subject2 发出项目,但之后我还想向subject1 发出不同的项目。
fun emittingItems() {
subject1.onNext(functionA1)
subject2.onNext(functionB)
if (something) subject1.onNext(functionA2)
}
发生的情况是,我按以下顺序收到一个项目:functionA1、functionA2、functionB。
为什么会出现这种行为?如何按以下顺序发出项目:functionA1、functionB、functionA2。
订阅主题:
val disposable = viewModel.subject1
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::someFunction())
disposables.add(disposable)
【问题讨论】: