Я новичок в 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);