this thread conCatMap ve düzmap'ye göre, yalnızca öğelerin gönderildiği sıraya göre farklılık gösterir. Bu yüzden bir test yaptım ve basit bir tamsayı akışı yarattım ve hangi sırada yayılacağını görmeyi istedim. Ben 1-5 arasında bir sayı ve iki tarafından iki katına çıkarılacak küçük bir gözlemlenebilir yaptım. Kolay.RxJava - flatmap vs concatMap - neden abonelikte sipariş veriyorsunuz?
myObservable.flatMap(new Func1<Integer, Observable<Integer>>() {
@Override
public Observable<Integer> call(Integer integer) {
return Observable.just(integer * 2);
}
}).subscribe(new Observer<Integer>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Integer integer) {
Log.v("myapp","from flatMap:"+integer);
}
});
ve concatMap kullanarak tam aynı kod: Burada
flatmap ile kodudur i günlüklerinde çıktısını gördü sipariş için aynı idimyObservable.concatMap(new Func1<Integer, Observable<Integer>>() {
@Override
public Observable<Integer> call(Integer integer) {
return Observable.just(integer * 2);
}
}).subscribe(new Observer<Integer>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Integer integer) {
Log.v("myapp","from concatmap:"+integer);
}
});
, neden ? Sadece concatMap'in düzeni koruyacağını düşündüm.
Bağlantıyı düzeltebilir misiniz? Https://tomstechnicalblog.blogspot.com/2015/11/rxjava-achieving-parallelization.html? –
@XiaoPeng tamam, teşekkür ederim –