android - RxJavar用什么操作符可以使数据每隔一段时间取出一个
问题描述
RxJavar用什么操作符可以使数据每隔一段时间取出一个
问题解答
回答1:懒得去搞 Java 的环境,给你个 JavaScript 的示例,你照着改成 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();
补充一下
interval(500).take(1) 可以用 timer(500) 代替
使用 concatMap() 或者 map().concat()
]
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));//获取数据后的处理方法
如果获取对象的方法是快速执行的方法,flatMap也可以使用map来代替,改成
.map(i->getData(i.intValue()))//获取数据
相关文章:
1. javascript - 使用ionic建立start一个项目的时候,总是失败。2. 自学,刚编了helloworld就失败了3. android 小米手机用第三方登陆qq,授权之后请求参数不规范?4. VUE引入jquery以后,调用方法,提示’$’ is not defined。5. html5 - 移动端通过拖拽实现两个元素的位置互换6. java-ee - nginx做前端服务器,tomcat+apache做后端,那么war部署在哪里?7. 百度云加速正常 自己搭建的NGINX就出现400 本妹子求大神8. error_log 指定不能生存错误日志的地址9. css3 - css transform是不是不会改变原来元素在文档中的位置和大小?10. android - 请问一下 类似QQ音乐底部播放 在每个页面都显示 是怎么做的?
