RxJava Timer Наблюдава се, но изчакайте да завърши

Имам нещо подобно:

return Observable.timer(2, TimeUnit.SECONDS)
                .flatMap(integer -> captureList.getLatestCaptureCut()) #1
                .flatMap(vp::processVideo) #2
                .observeOn(AndroidSchedulers.mainThread())     
                .repeat()
                .subscribeOn(Schedulers.computation())
                .subscribe(new Subscriber<Boolean>() {
                    @Override
                    public void onCompleted() {
                    }

                    @Override
                    public void onNext(Boolean aBoolean) {
                    }

                    @Override
                    public void onError(Throwable e) {
                        e.printStackTrace();
                    }
                });

По принцип това, което искам е следното:

  • I need an observable to start, initially after 10seconds and then
    • it does #1 when completed then
    • прави #2, когато е завършен тогава
    • изчаква 2 секунди и повтаря всичко, но първите 10 изчакват и трябва да работят завинаги.

Не мога да намеря начин това да работи. Той просто повтаря процеса на всеки 2 секунди, без да чака onNext да бъде извикан. Това така ли трябва да бъде?


person johnny_crq    schedule 05.08.2015    source източник
comment
Трудно е да разбереш какво преследваш. Искате ли да: направите пауза 10 секунди, да изпълните 1, да изпълните 2, да изчакате 2 секунди, да повторите?   -  person Will    schedule 05.08.2015
comment
да повторете всичко освен първата пауза   -  person johnny_crq    schedule 06.08.2015


Отговори (1)


Какво ще кажеш

Observable.timer(10, 2, TimeUnit.SECONDS)
person kyanro    schedule 11.08.2015