observable - 如何改进 Observable 中的 thread.sleep
问题描述
我想改善可观察的 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();
解决方案
delay
运营商是你所需要的
Observable.from(sampleList)
.buffer(5)
.delay(500, TimeUnit.MILLISECONDS)
.buffer(2)
.delay(500, TimeUnit.MILLISECONDS)
.buffer(2)
.delay(500, TimeUnit.MILLISECONDS)
.subscribe();
推荐阅读
- c++ - 推导将被称为重载构造函数的类型
- forms - 使用参数提交表单以执行操作,Asp.Net.Core Mvc
- javascript - 为什么 cookieParser 不返回值?
- java - 转义正则表达式变量
- python - 加载 TensorFlow 嵌入模型
- mysql - 如何在 mysql 中保存和检索图像?
- python - 如何使用 BeautifulSoup 在包含多个表的页面上选择一个表
- python - 文件对话框不显示任何文件
- php - 一些插件发送邮件,但其他插件不发送。PHP 邮件功能有效,但 WordPress 管理员电子邮件无效
- nativescript - NativeScipt - 仅限 Andriod 的插件