所以我有一个Observable
。我想知道什么时候 每个 下游订阅者 onNext
调用将要进行,这既是为了测量每个下游订阅者花费的时间量,也是为了背压目的。
Observable.lift
让我完成了一半 - 我可以用我自己的 Subscriber
包装每个单独的订阅者,如下例所示。当所有下游订阅者完成他们的 onNext
调用时,这不会通知我,但我不必自己做一些簿记。
eventObservable.lift(subscriber -> new Subscriber<Event>() {
@Override
public void onStart() {
request(1);
}
@Override
public void onCompleted() {
subscriber.onCompleted();
}
@Override
public void onError(Throwable e) {
subscriber.onError(e);
}
@Override
public void onNext(Event event) {
subscriber.onNext(event);
request(1);
}
});
有没有好的方法(甚至是聪明的方法)?
提前致谢!
最佳答案
没有像 doOnNext 这样的 doOnXXX 方法 http://reactivex.io/RxJava/javadoc/rx/Observable.html#doOnNext%28rx.functions.Action1%29足够你的目的?这样你就可以拦截 onNext 和其他事件。
关于java - 如何知道下游订阅者何时调用 onNext()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28781406/