J'ai vérifié la documentation de RXJava et j'ai remarqué que les opérateurs concat et merge semblent faire la même chose. J'ai écrit quelques tests pour en être sûr.
@Test
public void testContact() {
Observable.concat(Observable.just("Bonjour"),
Observable.just("réactif"),
Observable.just("monde"))
.subscribe(System.out::println);
}
@Test
public void testMerge() {
Observable.merge(Observable.just("Bonjour"),
Observable.just("réactif"),
Observable.just("monde"))
.subscribe(System.out::println);
}
La documentation dit
L'opérateur Merge est également similaire. Il combine les émissions de deux ou plusieurs Observables, mais peut les entrelacer, tandis que Concat n'entrelace jamais les émissions de plusieurs Observables.
Mais je ne comprends toujours pas entièrement, en exécutant ce test des milliers de fois, le résultat de merge est toujours le même. Comme l'ordre n'est pas garanti, je m'attendais parfois à voir "réactif" "monde" "bonjour", par exemple.
Le code est disponible ici https://github.com/politrons/reactive