我想从列表中发出项目,并且在每次发射之间我想要一个延迟。我试过这个:
final Subscription subscription = Observable.from(listOfItems)
.delay(2000, TimeUnit.MILLISECONDS)
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String sss) {
}
});
但它只是延迟发射的开始,而不是每个项目的发射。
最佳答案
您可以按如下方式进行:
List<Integer> listOfItems = Arrays.asList(1, 2, 3);
Observable.from(listOfItems)
.zipWith(Observable.interval(2, TimeUnit.SECONDS), (item, notUsed) -> item)
.subscribe(System.out::println);
如果您想在第一次发射之前延迟,请使用Observable.interval(initialDelay, delay, TimeUnit)
关于list - 如何从列表中发出每个项目之间有延迟的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38008896/