i new in rx android.i trying call web service in different time interval.
call api 4 hours every 1 minutes 30 minutes, every 5 minutes 3 hours , 30 minutes
is possible rx android.if possible let me know how this?
observable.interval(1,timeunit.minutes).takewhile(observable.timer(30,timeunit.minutes).concatwith(observable.interval(5,timeunit.minutes).takewhile(observable.timer(30,timeunit.minutes).flatmap(new func1<long, observable<?>>() { @override public observable<?> call(long along) { return null; } }).subscribe((new observer<object>() { @override public void oncompleted() { log.e("working", "oncompleted"); } @override public void onerror(throwable e) { log.e("working", "oncomthrowablepleted"); } @override public void onnext(object o) { log.e("working", "onnext"); } }); ))
you can use interval
, takeuntil
, timer
, concatwith
: idea use interval
, stop after 30 minutes, use interval
.
// 1 events per minutes observable.interval(1, minutes) // , stop after 30 minutes .takeuntil(observable.timer(30, minutes)) // 1 events per 5 minutes, , stop after 30 minutes .concatwith(observable.interval(5, minutes).takeuntil(observable.timer(30, minutes))) // perform webservice call .flatmap(time -> webservice.call()) .subscribe();
Comments
Post a Comment