eri*_*icn 0 android rx-java rx-java2
我只是从应用程序的共享首选项中读取一个值,因此应该只发出1个值。
SharedPrefAsync:
Observable<Boolean> getSomeValue() {
// retrieve the value asycnhronously
}
Run Code Online (Sandbox Code Playgroud)
用法:
sharedPrefsAsync.getSomeValue().blockingFirst()可行,但sharedPrefsAsync.getSomeValue().blockingSingle()似乎使应用程序崩溃,没有错误日志
我已经阅读了官方文档,但不清楚blockingSingle和之间的区别blockingFirst。
如何找出blockingSingle此处使用的实际问题?
RxJava的“官方文档”是其JavaDoc和Wiki页面。ReactiveX站点是Rx实现的集合,并不是RxJava的最新版本(此外,我们会更频繁地更新文档以更准确地了解概念和行为)。
blockingFirst 如果存在至少一个元素,则采用第一个元素,而忽略其余元素:

blockingSingle期望只包含一项,否则将引发异常:

因此,请仔细检查您的getSomeValue()链,它必须发出多个值
| 归档时间: |
|
| 查看次数: |
612 次 |
| 最近记录: |