Quando si usano framework reattivi ho visto entrambe le soluzioni di seguito per effettuare una selezione mutuamente esclusiva di quale flusso verrà inoltrato (rxjava in questo caso)
Observable.merge(
Observable.just(aBoolStatement).filter(aBoolean -> aBoolean).flatMap(aBoolean -> signal1),
Observable.just(aBoolStatement).filter(aBoolean -> !aBoolean).flatMap(aBoolean -> signal2)
)
-
Observable.just(aBoolStatement).flatMap(aBoolean -> {
if(aBoolean)
return signal1
else
return signal2
}
Il primo codice è tutto rx che è bello, ma valuta anche la dichiarazione due volte che è facile perdere se è necessario aggiornare la dichiarazione. C'è un modo preferito di fare questo o qualsiasi altro modo per ottenere lo stesso risultato?