如何解决RxJava如何在flatmap ResultSelector中直接返回值
我有一个情况,我需要使用 flatmap 中的 resultSelector 来访问以前的 api 结果
黑色是流动
红色是依赖
完成任务的示例
public static Single<byte[]> processData(){
return Single.just(new byte[47]);
}
public static Single<Double> callAPI(int id,byte[] fileData){
return Single.just(5.5);
}
public static Single<String> uploadData(String url){
return Single.just("uploadResult");
}
我的功能:
private void bigFunction(int id){
processData().flatMap(new Function<byte[],SingleSource<Double>>() {
@Override
public SingleSource<Double> apply(byte[] bytes) throws Throwable {
return callAPI(id,bytes);
}
},new BiFunction<byte[],Double,Single<String>>() {
@Override
public Single<String> apply(byte[] processedBytes,Double apiResult) throws Throwable {
return uploadData("urlFromAPIResult")
.map(new Function<String,String>() {
@Override
public String apply(String s) throws Throwable {
return s+123;
}
});
}
})
这里的问题是 BiFunction 返回一个 Single 所以我需要订阅
.subscribe(new SingleObserver<Single<String>>() { ...
我想要的
.subscribe(new SingleObserver<String>() { ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。