Аз съм нов в RX и не знам как работят планировчиците. по-долу има код, който никога не се изпълнява onComplete
. но ако сложа while(true)
цикъл в края, той работи правилно. изглежда, че приложението ще излезе, преди да стартира new thread
.
защо се случва това? и как да поправя този проблем?
Subscriber<String> subscriber = new Subscriber<String>() {
@Override
public void onCompleted() {
System.out.println("done");
}
@Override
public void onError(Throwable throwable) {
}
@Override
public void onNext(String o) {
System.out.println(o);
}
};
Observable.from(new String[]{"1", "2", "3","4"}).
subscribeOn(Schedulers.immediate())
.observeOn(Schedulers.newThread())
.subscribe(subscriber);