[英]RxJava2 - observable.subscribe onComplete is Action type
在RxJava2中你不能做这样的事情
observable.subscribe(s -> {
System.out.println(s);
}, e -> {
System.err.println(e);
}, c -> {
System.err.println(c);
});
因为c-> {}不是Action
类型(显然)
相反,你被迫做这样的事情
Action onComplete = new Action() {
@Override
public void run() throws Exception {
System.out.println("on complete");
}
};
observable.subscribe(s -> {
System.out.println(s);
}, e -> {
System.err.println(e);
},onComplete);
是否有任何理由将onComplete
作为Consumer
类型?
原因是onComplete不会发出任何数据。 消费者需要一个类型。 如果某些事情已经完成,那就完成了。
如果你有一个Completable
它只调用onComplete(),它也没有发出数据。
onCompleted真的意味着完成了。 onNext / onSuccess意味着它具有使用Consumer<Type>
发出的数据,而onError意味着它具有Consumer<Throwable>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.