Java 来自rx链的方法中的返回值
我有一个函数,传递一个字符串返回另一个字符串。但我的问题是,使用RxJava我不知道如何返回字符串值 私有无效校验字符串值{ 如果getGenderValuevalue.equalsmale{ //做点什么 } } 私有字符串getGenderValueString值{ findGenderValueUseCase .setTypesomehting .SetLanguage语言 .SetCountryID .setValuevalue .可观察 .ComposeBindentileventDestroyView .订阅新的新闻订阅者; }Java 来自rx链的方法中的返回值,java,rx-java,Java,Rx Java,我有一个函数,传递一个字符串返回另一个字符串。但我的问题是,使用RxJava我不知道如何返回字符串值 私有无效校验字符串值{ 如果getGenderValuevalue.equalsmale{ //做点什么 } } 私有字符串getGenderValueString值{ findGenderValueUseCase .setTypesomehting .SetLanguage语言 .SetCountryID .setValuevalue .可观察 .ComposeBindentileventDe
您可以将方法更改为:
private void check(String value) {
findGenderValueUseCase
.setType("somehting")
.setLanguage("language")
.setCountry("countryid")
.setValue(value)
.asObservable()
.compose(bindUntilEventDestroyView())
.subscribe(value ->
if (getGenderValue(value).equals("male")) {
//do somehting
}
);
}
但请记住,因为它是可观察的,所以对于每个发出的值,都会执行dosomething
或者,如果您希望以阻塞方式实现它:
private void check(String value) {
if (getGenderValue(value).equals("male")) {
//do somehting
}
}
private String getGenderValue(String value) {
return findGenderValueUseCase
.setType("somehting")
.setLanguage("language")
.setCountry("countryid")
.setValue(value)
.asObservable()
.compose(bindUntilEventDestroyView())
.blockingFirst(); // here we only return the first value
}
检查此项以了解哪一项是最好的