有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java RxJava如何在flatmap结果选择器中直接返回值

我的情况是,我需要使用flatmap中的resultSelector来访问以前的api结果
黑色是流动的
红色代表依赖性
enter image description here

采样时间任务


    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;
                            }
                        });
            }
        })

这里的问题是双功能返回一个单一的,所以我需要订阅

   .subscribe(new SingleObserver<Single<String>>() { ...

我想要什么

   .subscribe(new SingleObserver<String>() { ...

共 (0) 个答案