Por que meu temporizador Observable nunca é chamado?
No Android, escrevi umObservable
que deve ser chamado uma vez após 2000 ms, mas que nunca é chamado.
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;
}
});
eu quero oObservable
para aguardar a discussão principal e chamecontinuePlayback()
na linha principal. A ajuda de contexto me permitiu colocarsubscribeOn/observeOn
Entre otimer
eflatMap
. Isso está correto? O que realmente está acontecendo aqui e o que eu fiz de errado?
O que acontece com oObservable
depois da ligação? Ele permanecerá vivo ou precisarei explicitamente derrubá-lo de alguma forma, por exemplo ligarOnCompleted()
?