Nom*_*sta 4 java android rx-java rx-java2
我有两个单身人士,我将其合并为一对。
假设对于这些来源,我们有两种方法:
private Single<String> single1() {}
private Single<String> single2() {}
Run Code Online (Sandbox Code Playgroud)
现在我将它们合并为 Single<Pair<String, String>
private Single<Pair<String, String> combineSingles() {
Single.zip(single1(), single2(), BiFunction<String, String, Pair<String, String>>) (t1, t2) -> new Pair(t1, t2))
}
Run Code Online (Sandbox Code Playgroud)
当其中一种方法(single1或single2)返回Single.error()时,我得到的UndeliverableException原因错误未在zip运算符中处理。我想Single.error()从combineSingles()方法中返回,如何实现呢?
尝试这个
private Single<Pair<String, String> combineSingles() {
try {
Single.zip(single1(), single2(), BiFunction<String, String, Pair<String, String>>) (t1, t2) -> new Pair(t1, t2))
} catch (Exception e) {
Single.error()
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我首先建议尝试catch方法:)