Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rx java RxJava-映射一个可观察对象并不是返回所有的排放_Rx Java - Fatal编程技术网

Rx java RxJava-映射一个可观察对象并不是返回所有的排放

Rx java RxJava-映射一个可观察对象并不是返回所有的排放,rx-java,Rx Java,我有一个对象数组(36个对象),我正在从中创建一个可观察对象。然后我试着把它映射到另一种类型。。。然而,只有一种排放发生。 有人能帮我吗 TypeA[] array = new TypeA[]; // filling array return Observable.from(array) .concatMap(new Func1<TypeA, Observable<? extends TypeB>

我有一个对象数组(36个对象),我正在从中创建一个可观察对象。然后我试着把它映射到另一种类型。。。然而,只有一种排放发生。 有人能帮我吗

    TypeA[] array = new TypeA[];
    // filling array
         return Observable.from(array)
                        .concatMap(new Func1<TypeA, Observable<? extends TypeB>>() {
                            @Override
                            public Observable<? extends TypeB> call(TypeA typeA) {
                                return Observable.create(new Observable.OnSubscribe<TypeB>() {
                                    @Override
                                    public void call(Subscriber<? super TypeB> subscriber) {                        
                                        Log.d("Here");

                                        subscriber.onNext(new TypeB());
                                    }
                                });
                            }
                        });
TypeA[]数组=新的TypeA[];
//填充阵列
返回可观察的。来自(数组)

CopaTMAP(new Frase

),因为您使用的是CuttMult,当内部流终止时,操作员将只考虑第二个数组元素。

在您的情况下,它永远不会终止,因为您在
onNext
之后不调用
subscriber.onComplete();

请注意,根据代码与此示例的接近程度,您最好编写:

Observable.from(array).map(ta -> new TypeB());
或者(如果确实需要concatMap):


java中不能有<代码>返回<代码>方法,因为它是关键字,我们称它为<代码>只是< /COD>。尽可能避免调用<代码>可观察。创建< /COD>因为必须考虑背压要求。使用可观察的(从数组)。CuttMaP(Type ->可观察。只是(new Type())。doOnSubscribe(())-log(d)(“这里”));
Observable.from(array).concatMap(ta -> Observable.just(new TypeB()));