Я пытаюсь создать поток, который создает значение с задержкой.
Итеративный подход (псевдокод):
function f() {
getCurrentTime()
wait(TIME)
httpCall(currentTime, now())
f();
}
Реактивный подход:
Observable.of(0)
.repeat()
.scan(DEFAULT_TIME, (prevTime, i) -> getNowTime())
.delayElements(Duration.ofSeconds(5))
.flatMap(fromTime -> httpCall(fromTime, getNowTime()))
Но моя fromTime
переменная не изменяется.
Как исправить реактивный код, чтобы сопоставить его с итеративным аналогом?