RxJava2中可观察者和观察者的行为

时间:2018-03-24 16:58:16

标签: java reactive-programming rx-java2

如果您将.subscribe()传递给voidObserver方法会返回Disposable,而传递其他任何内容时Observer,则.onSubscribe( Disposable )方法会返回Observable。我意识到这与Reactive-Streams规范有关,但仍然......

Observer提供Flowable方法,但在阅读ReactiveX Subscriber合同时,.subscribeWith( Observer )订阅时可能会调用此方法,也可能不会调用此方法。这对RxJava2来说是真的吗? [似乎只有{em>必需才能被DisposableObserver调用,Disposable使用它来通知.dispose()它已准备好接受请求。]

我已经读过{"cae7fc": ["1519106711000 1008.48","1519107011000 1000.28","1519107311000 1009.89","1519107611000 1000","1519107910000 1006.52","1519108211000 985.68","1519108511000 1009.16","1519108812000 1003.5","1519109111000 998.09"]} 以某种方式解决了这个问题,但我很难看到如何解决这个问题。显然你可以通过count = 15,它实现x,y,z,但GameObject.Find("pPrism1").GetComponent(BasketballSceneChange).enabled = false;方法到底应该做什么?

1 个答案:

答案 0 :(得分:1)

  

当Observer订阅时,可能会调用此方法,也可能不会调用此方法。这是否适用于RxJava2?

每个RxJava基类中的协议定义都很清楚:

可通过Publisher流动:

onSubscribe onNext* (onError | onComplete)?

Observable

onSubscribe onNext* (onError | onComplete)?

onSubscribe (onSuccess | onError)?

Maybe

onSubscribe (onSuccess | onError | onComplete)?

Completable

onSubscribe (onError | onComplete)?

onSubscribe是强制性的,即使在never()

  

我已经读过.subscribeWith(Observer)以某种方式解决了这个问题

定义为S subscribeWith(S observer),其中S extends Observer<? super T>。它只返回提供给它的观察者的观察者或子类。

  

但是.dispose()方法究竟应该做什么?

以线程安全的方式处置通过Disposable发送的Observer.onSubscribe。对齐后,DisposableSubscriber会取消通过Subscription收到的Subscriber.onSubscribe