Я пытаюсь использовать RxJava для перебора и массива чисел, где каждое число представляет тайм-аут, который я хотел бы выполнить перед выполнением следующей эмиссии.
Это то, что я придумал ..
AtomicInteger index = new AtomicInteger(0);
Long[] intervals = {1L,2L,3L,4L};
Observable.fromArray(intervals)
.zipWith(Observable.interval(intervals[index.getAndIncrement()], TimeUnit.SECONDS), (a,b) -> a)
.subscribe(event -> {
System.out.println(LocalDateTime.now());
});
Проблема в этом коде заключается в том, что Observable.interval
берет первый индекс в массиве, но игнорирует getAndIncrement()
, поэтому я получаю только тайм-ауты 1 с.
Есть идеи, как заставить это работать?