问题描述
我有一个情况,我需要使用 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 (将#修改为@)