Rxjava 的 Repeat 操作符
先看我的代码:(用于测试的)
People people1 = new People("join","21");
People people2 = new People("jane","29");
Observable.just(people1,people2)
.subscribeOn(AndroidSchedulers.mainThread()) //在主线程上把 UI 初始化
.doOnNext(people -> {
num = 0;
show.setText(String.valueOf(num));
})
.repeat(4,Schedulers.newThread()) //在新线程上重复发送2次
.observeOn(AndroidSchedulers.mainThread()) //在主线程上观测
.subscribe(peoples1 -> {
String s = people1.toString();
num++;
show.setText(String.valueOf(num));
Log.e("---",s);
});
这里,just先发射第一个 People:people1,之后再发射people2.
但是呢,Logcat如下:
06-29 20:25:20.251 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
06-29 20:25:20.251 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
06-29 20:25:20.281 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
06-29 20:25:20.281 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
06-29 20:25:20.287 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
06-29 20:25:20.287 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
06-29 20:25:20.302 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
06-29 20:25:20.302 32688-32688/demo.chestnut.com.test E/---: People{name='join', age='21'}
这里打印了8次的 people1,按理由,不是应该打印4次 people1,打印4次的people2吗?
相关阅读:
使用Django配合PyCharm开发时Console默认输出的请求Log格式如何修改?
为何本地用Tomcat运行项目,感觉网页刷新好慢....还不如联网的呢?为何
thinkphp自动验证问题
json_decode一个json字符为什么还是字符
document.defaultView到底指的是什么
有没有这样的团队wiki: git+markdown可视化编辑+图片粘贴+权限控制...
谁知道最新UC 的最新启动类名是什么 ?
OAuth接口与普通的REST接口有什么优势
rails 运行shell命令遇到的问题
我用百度编辑器,后端使用CI的CISecurity类作xss过滤,结果将所有内容都过滤掉了,怎么处理?
疑惑Guava中的Cache是如何做到“直接修改内存副本”的?
怎样使用 C# 获取系统的 CPU, 内存和磁盘的占用?
关于PHP扩展ext_skel生成文件乱码的问题(初级)
android QQ第三方登录时报错invalid appkey
微信最新的js_sdk录音下载下来的speex文件怎么解析
ie7 iframe滚动条被div层覆盖
JavaScript既然是单线程的,那么异步要怎么理解?
webpack怎么配置输出entry的入口文件目录
HttpAccessKeyModule 如何防盗链?
[Python] 闭包函数和装饰器的疑问