Как я могу улучшить thread.sleep в Observable - PullRequest
0 голосов
/ 18 июня 2020

Я хочу улучшить сон внутри блока doOnNext наблюдаемого.

Рекомендую, если есть лучший способ.

Observable.from(sampleList)
                .buffer(5)
                .doOnNext(first -> {
                    // first Logic
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {}
                })
                .buffer(2)
                .doOnNext(second -> {
                    // second Logic
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {}
                })
                .buffer(2)
                .doOnNext(third -> {
                    // third Logic
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {}
                })
                .subscribe();

1 Ответ

0 голосов
/ 19 июня 2020

delay оператор - это то, что вам нужно

Observable.from(sampleList)
            .buffer(5)
            .delay(500, TimeUnit.MILLISECONDS)
            .buffer(2)
            .delay(500, TimeUnit.MILLISECONDS)
            .buffer(2)
            .delay(500, TimeUnit.MILLISECONDS)
            .subscribe();
...