Es gibt eine rx.Observable.timeout
, aber es ist pro Element und nicht für alle Daten. Aber ich brauche eine Zeitüberschreitung, wenn Daten nicht innerhalb eines bestimmten Zeitraums ausgegeben werden.Festlegen eines Zeitlimits, bis die Daten von Observable
final Subscriber<Integer> sub = new Subscriber<Integer>() {
@Override
public void onNext(Integer num) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
System.out.println(num);
}
@Override
public void onCompleted() {
System.out.println("--------------- Done ---------------");
}
@Override
public void onError(Throwable e) {
//System.out.println("Error!!! + e");
}
};
Observable.range(1, 10000)
.map(x -> x * 10)
//.last()
.timeout(10, TimeUnit.SECONDS)
.doOnError(e -> {System.out.println("Errrorrr " + e);})
.subscribe(sub);
Das ist gut, danke – yuris