1

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

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

这就是我现在所拥有的,显然不会产生正确的价值。

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

我也尝试过interval,但我不确定如何跟踪已发出的值。如您所见,我在 RxJava 方面没有经验,任何帮助将不胜感激。

4

1 回答 1

2

您可以使用.zip带有间隔的可观察的运算符之一。例如,

// RxJava2
Observable.fromIterable(factMap.entries)
        .zipWith(Observable.interval(10, TimeUnit.SECONDS), BiFunction<...> { t1, t2 -> t1 })
        .subscribe { Timber.i("Abhishek $it") }
于 2019-08-12T21:05:42.167 回答