concatMap  vs flatMap
concatMap girdiyi sırayla işler
Örnek
Elimizde şöyle bir kod olsun
void flatMapVsConcatMap() throws InterruptedException {Observable.just(5, 2, 4, 1).flatMap(second -> Observable.just("Emit delayed with " + second + " second").delay(second, TimeUnit.SECONDS)).subscribe(System.out::println, Throwable::printStackTrace );Thread.sleep(15_000);}
Çıktı şöyle. flatMap sırayı korumadı.
Emit delayed with 1 secondEmit delayed with 2 secondEmit delayed with 4 secondEmit delayed with 5 second
Açıklaması şöyle
flatMap tries to start as many possible.
Elimizde şöyle bir kod olsun
void flatMapVsConcatMap() throws InterruptedException {
  Observable.just(5, 2, 4, 1)
    .concatMap(
      second ->
        Observable.just("Emit delayed with " + second + " second")
          .delay(second, TimeUnit.SECONDS)
    )
    subscribe(System.out::println,Throwable::printStackTrace);
  Thread.sleep(15_000);
}Çıktı şöyle. concatMap sırayı korudu
Emit delayed with 5 secondEmit delayed with 2 secondEmit delayed with 4 secondEmit delayed with 1 second
 
Hiç yorum yok:
Yorum Gönder