2017-11-03 2 views
0

Ich lerne Blind- und ich mit diesem Test Klasse ich spiele: alle 10 Sekunden für 30 SekundenGibt es eine saubere Möglichkeit, ein Programm auf einen beobachtbaren Timer warten zu lassen?

public class ObserverTest{ 
    public static void main(String[] args) { 
     Observable 
       .interval(10, SECONDS) 
       .takeUntil(Observable.timer(30, SECONDS)) 
       .subscribe(System.out::println); 
    } 
} 

Was ich von ganzen Zahlen eine Folge drucken gerade aus ist geschehen soll. Was passiert ist natürlich, dass das Programm sofort durchläuft und einfach beendet wird.

Gibt es ein nettes RX-Tool, mit dem mein Programm warten kann, bis der Timer abgelaufen ist? Ich würde es vorziehen, mich nicht direkt mit Threading befassen zu müssen.

+0

[Takewhile?] (Http://reactivex.io/documentation/operators/takewhile.html) erfolgen. TakeWhile (time! = 30) – masp

+0

@masp nein, das ist kein blockierender Anruf –

+0

Nein, es ist nicht. Deine Frage missverstanden. – masp

Antwort

0

Dies kann durch den Aufruf einer blockingSubscriber statt nur ein subscriber

Verwandte Themen