RxJava2 - 如何定期发出 hashMap 值

RxJava2 - how to emit hashMap value periodically

我在 SO 上搜索了很多,不认为它是重复的。我的问题很简单,但不知何故我的解决方案不起作用。

问题:我有一个 hashMap,我想每 10 秒一个一个地发出值。

这是我现在拥有的,但显然没有产生正确的价值。

Observable.fromIterable(factMap.entries)
        .delay(10, TimeUnit.SECONDS)
        .subscribe { Timber.i("Abhishek $it") }

我也尝试了 interval,但我不确定如何跟踪发出了哪个值。如您所见,我在 RxJava 方面没有经验,我们将不胜感激。

您可以将 .zip 运算符之一与具有间隔的可观察对象一起使用。例如,

// RxJava2
Observable.fromIterable(factMap.entries)
        .zipWith(Observable.interval(10, TimeUnit.SECONDS), BiFunction<...> { t1, t2 -> t1 })
        .subscribe { Timber.i("Abhishek $it") }