Warum wird mein Timer Observable nie aufgerufen?
uf Android habe ich ein @ geschriebObservable
sollte nach 2000 ms einmal aufgerufen werden, wird aber nie aufgerufen.
Observable.timer(2000, TimeUnit.MILLISECONDS) // wait 2000 msec
.subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread())
.flatMap(new Func1<Long, Observable<?>>() {
@Override public Observable<?> call(Long aLong) {
continuePlayback(); // this line is never called
return null;
}
});
Ich will dasObservable
um den Haupt-Thread abzuwarten, dann rufe @ acontinuePlayback()
auf dem Hauptthread. Kontexthilfe erlaubte mir, @ zu platziersubscribeOn/observeOn
zwischen dentimer
undflatMap
. Ist das richtig? Was ist hier wirklich los und was habe ich falsch gemacht?
Was passiert mit demObservable
nach dem anruf? Wird es am Leben bleiben oder muss ich es explizit irgendwie abreißen, z. AnrufOnCompleted()
?