rx-java - Rxjava,在onComplete或onError之后如何重复
问题描述
我有一个代码块可能是这样的。
fun main() {
foo()
.flatMap {
bar()
}
.subscribe({}, {
main()
},{
main()
})
}
fun foo(): Observable<Int> {
// has some real business which take times here
return Observable.just(1)
}
fun bar(): Observable<Int> {
// has some real business which take times here
return Observable.just(2)
}
这将在 onComplete 或 onError 之后重复。
但是我觉得上面的风格不好!RxJava 本身有什么好的方法吗?
解决方案
尝试申请retry
和repeat
:
foo()
.flatMap {
bar()
}
.retry() // <------------------------------------------
.repeat()
.subscribe({}, {
// never fails
},{
// never ends
})
推荐阅读
- c - CGAL::Surface_mesh - 使用整数索引访问面/顶点?
- python - 使用 pywinauto 发送 ALT 代码
- python - 如何将思维导图csv转换为python dict并找到密钥
- java - 使用枚举,错误:org.apache.crunch.CrunchRuntimeException:java.lang.NoSuchMethodException:
- time - 将假设参数的值添加到 Power BI 中的时间值
- ios - 加载预加载到 Core Data 中的 SQLite 数据库
- unit-testing - BDD Mockito - 使用参数捕获器时验证(...)的别名?
- css - 在Flask中使用子域时,如何访问css url中引用的静态文件和使用require.js的js文件?
- angular - Angular6 ngrx:无法读取未定义的属性“ID”
- python - 我想在熊猫中对列进行分组