android - RxJavar用什么操作符可以使数据每隔一段时间取出一个
PHP中文网
PHP中文网 2017-04-17 17:52:23
0
2
616

RxJavar用什么操作符可以使数据每隔一段时间取出一个

PHP中文网
PHP中文网

认证0级讲师

membalas semua(2)
大家讲道理

Saya terlalu malas untuk mengusahakan persekitaran Java, jadi saya akan memberikan contoh JavaScript kepada anda. Anda boleh mengikutinya dan menukarnya kepada Java

const Rx = require("rx");

Rx.Observable.range(0, 10)
    .map(n => 3 + n * 10)
    .concatMap((x, i) => {
        return Rx.Observable.interval(500)
            .take(1)
            .map(() => `${x}:${i}`);
    })
    .do(console.log)
    .subscribe();

Hanya sesuatu untuk ditambahkan

interval(500).take(1) boleh digantikan dengan timer(500)

Gunakan

atau concatMap()map().concat()

]

Peter_Zhu
private Object getData(int index) {
    //TODO 获取第n个数据
}


Observable.interval(1, TimeUnit.SECONDS)//每秒执行一次
          .flatMap(i->Observable.fromCallable(()->getData(i.intValue())))//获取数据
          .subscribe(s->System.out.println(s));//获取数据后的处理方法

Jika kaedah mendapatkan objek adalah kaedah pelaksanaan yang pantas, flatMap juga boleh digantikan dengan peta dan ditukar kepada

          .map(i->getData(i.intValue()))//获取数据
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan