您好我是RxJava的新手和整个反应式编程理念,我想帮助理解一些概念。
这是事情,我有这个类调度消息,这个类有一个Inner PublishProcessor,这是我认为能够动态发布消息的最佳解决方案,因为似乎Observable / Flowable来自于alredy existant或收到的数据,比方说,我无法按下按钮N次。
所以这个类有这个调度(SomeClass c)调用我的发布者的OnNext方法,有效地向每个订阅者发送数据。 但是说网络请求在推送按钮的同时完成,两个消息都发生冲突,没有一个被有效发送,文档说这是预期的行为。
你会如何处理这种情况?这基本上就是它。
private ObservableList<ObservableResponse> list;
public static class ObservableList<T> {
protected final PublishProcessor<T> onAdd;
public ObservableList() {
this.onAdd = PublishProcessor.create();
}
public void add(T value) {
onAdd.onNext(value);
}
public io.reactivex.Observable<T> getObservable() {
return onAdd.toObservable();
}
public PublishProcessor<T> getProcessor(){
return onAdd;
}
}
private MessageStream(){
this.list = new ObservableList<>();
}
public static class helper{
public static MessageStream instance = new MessageStream();
}
public void dispatchMessage(ObservableResponse x ){
this.list.add(x);
}
可观察的反应本身就是一个POJO。
任何帮助都会受到赞赏,我知道文档很强大,但rx1还有很多关于rx2的东西,所以我真的很困惑......