许多观察者连接到一个可观察的接收事件一次一个

时间:2016-11-08 10:11:33

标签: reactivex

这是我创建我的observable的方式:

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

之后,通过http请求,我试图添加不同的观察者。问题是如果我有一个以上的观察者,我无法预测哪个观察者将获得发射物品。为什么没有观察到的物品会向每个订阅的观察者发射物品,但是一次物品会向不同的观察者发射物品?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,

在可观察合约中: http://reactivex.io/documentation/contract.html 有信息:

  

没有一般保证两个观察者一样   Observable将看到相同的项目序列。

所以我通过发布使可观察的Connectable observable解决了它,然后在其上调用connect方法:

Observable.fromCallable(new EventObtainer()).flatMap(Observable::from).subscribeOn(Schedulers.io()).repeat().publish();
observable.connect();

现在即使异步我会添加更多观察者,它也会向每个观察者发出获得的项目。