Dans le réacteur 3, quel est le moyen le plus efficace de diviser un flux hétérogène en plusieurs flux par correspondance de motifs ? (Et les opérations ultérieures sur chaque flux peuvent être très différentes)
Par exemple,
Source Flux: a->b->c->a->b->c
||
vv
A Flux: a->a->a
B Flux: b->b->b
C Flux: c->c->c
Je suis novice en matière de programmation réactive, et la seule solution que j'ai trouvée est la suivante share()
+ filter()
comme
val shared = flux.share();
shared.filter(x -> x.tag=='a').subscribe(a -> consumeA(a));
shared.filter(x -> x.tag=='b').subscribe(b -> consumeB(b));
shared.filter(x -> x.tag=='c').subscribe(c -> consumeC(c));
Est-ce la meilleure solution, ou existe-t-il un meilleur paradigme pour ce problème ?