假设我有一个observableA从网络获取数据并发出它,如果我每次尝试从网络请求数据时都会订阅这个observable.
我想创建BehaviorSubject并将其连接到observableA,以便任何其他线程/对象将订阅BehaviorSubject以获取最新发出的数据.
到目前为止,我无法管理代码.我无法创建空的BehaviorSubject并在observableA中调用,因为它们彼此不相关.
我不能订阅observableA并将BehaviorSubject作为观察者,任何想法如何实现它?或者甚至更好?
解决方法
您可以使用多播.例如.,
Observable<String> o = ...; ConnectableObservable<String> co = o.multicast(BehaviorSubject.<String> create()); co.connect(); co.subscribe(...); co.subscribe(...); co.subscribe(...);