Identifique a emissão observável em RxJava
Oct 01 2020
Eu tenho uma série de Observáveis, cada um produzindo potencialmente os mesmos elementos. Então, eu uso flatMap()para mesclar todos os observáveis e me inscrever no Observável resultante:
Observable<Integer> o1 = Observable.range(0, 5);
Observable<Integer> o2 = Observable.range(0, 5);
Observable<Integer> o3 = Observable.range(0, 5);
Observable.fromArray(o1, o2, o3)
.flatMap(o -> o) // merge outputs from all observables
.subscribe(item -> Log.i(TAG, "Item: " + item + " Observable id: ???"));
Como preciso alterar o código para determinar qual Observable emitiu cada item da subscribe()cláusula?
Respostas
1 LLawliet Oct 01 2020 at 17:30
E se:
Observable<Item> o1 = Observable.range(0, 5).map(i -> new Item(i, "o1"));
Observable<Item> o2 = Observable.range(0, 5).map(i -> new Item(i, "o2"));
Observable<Item> o3 = Observable.range(0, 5).map(i -> new Item(i, "o3"));
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?