【发布时间】:2016-09-06 18:56:18
【问题描述】:
我通常使用
Observable observable = someObservable.replay().refCount();
创建一个只执行一次的可观察对象。如果我像下面这样多次订阅observable,这很好用:
observable.observeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(...);
observable.observeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(...);
observable 只执行一次 - 完美,如我所愿。如果我现在执行以下操作:
Observable obs1 = observable.map(...); // call some operators
Observable obs2 = observable.map(...); // call some operators
obs1.observeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(...);
obs2.observeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(...);
然后observable 被执行两次。我如何确保不会发生这种情况?
【问题讨论】:
标签: android rx-java observable