下面observeOn()在subscribeOn()之前是不会有输出的,但是顺序换一下有输出,这是什么原因?
[code=java][Subscriber<String> observer1=new Subscriber<String>() {
@Override
public void onCompleted() {
System.out.println("onComplete");
} @Override
public void onError(Throwable e) {
System.out.println("error");
} @Override
public void onNext(String s) {
System.out.println("onNext");
}
};
Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
System.out.println("call:" + Thread.currentThread().getName());
subscriber.onNext("");
subscriber.onCompleted();
}
}).observeOn(Schedulers.newThread()).subscribeOn(Schedulers.newThread()).subscribe(observer1);/code]
[code=java][Subscriber<String> observer1=new Subscriber<String>() {
@Override
public void onCompleted() {
System.out.println("onComplete");
} @Override
public void onError(Throwable e) {
System.out.println("error");
} @Override
public void onNext(String s) {
System.out.println("onNext");
}
};
Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
System.out.println("call:" + Thread.currentThread().getName());
subscriber.onNext("");
subscriber.onCompleted();
}
}).observeOn(Schedulers.newThread()).subscribeOn(Schedulers.newThread()).subscribe(observer1);/code]
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货