RxJava Timer Observable, но дождитесь завершения

У меня есть что-то вроде этого:

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