I want to emit items from list and between each of emission I want a delay. I've tried this:
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) {
}
});
but it just delays the start of emission, not emission of each item.
You can do it as follows:
List<Integer> listOfItems = Arrays.asList(1, 2, 3);
Observable.from(listOfItems)
.zipWith(Observable.interval(2, TimeUnit.SECONDS), (item, notUsed) -> item)
.subscribe(System.out::println);
If you want delay before first emission use Observable.interval(initialDelay, delay, TimeUnit)
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments