RxJava2-observable.subscribe-onComplete是动作类型
在RxJava2中,您不能这样做RxJava2-observable.subscribe-onComplete是动作类型,java,rx-java2,Java,Rx Java2,在RxJava2中,您不能这样做 observable.subscribe(s -> { System.out.println(s); }, e -> { System.err.println(e); }, c -> { System.err.println(c); }); Action onComplete = new Action() { @Override
observable.subscribe(s -> {
System.out.println(s);
}, e -> {
System.err.println(e);
}, c -> {
System.err.println(c);
});
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);
因为c->{}不是Action
类型(显然)
相反,你不得不这样做
observable.subscribe(s -> {
System.out.println(s);
}, e -> {
System.err.println(e);
}, c -> {
System.err.println(c);
});
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
不作为消费者
类型的任何原因?原因是onComplete不发出任何数据。使用者需要一个类型。如果某件事完成了,它就完成了
如果您有一个Completable
,它只调用onComplete(),而onComplete()也没有发出数据
未完成实际上意味着已完成。onNext/onSuccess表示它有一个消费者
发出的数据,而onError表示它有一个消费者