Ich habe folgendes Problem:RxJava teilen sich eine Emissionen des beobachtbaren zwischen mehreren Teilnehmern
Ich habe einen beobachtbaren, dass einige Arbeit zu tun, aber auch andere Observablen brauchen die Ausgabe dieses beobachtbaren zu arbeiten. Ich habe versucht, mehrere Male auf dem gleichen Observablen zu subskribieren, aber innerhalb des Logs sehe ich, dass das ursprüngliche Observable mehrfach initiiert wird.
das ist meine beobachtbaren das ist Erstellen Sie das Objekt:
Observable.create((Observable.OnSubscribe<Api>) subscriber -> {
if (mApi == null) {
//do some work
}
subscriber.onNext(mApi);
subscriber.unsubscribe();
})
das ist meine beobachtbar, dass das Objekt
loadApi().flatMap(api -> api....()));
Ich verwende
.subscribeOn(Schedulers.io()) observable.observeOn(AndroidSchedulers.mainThread())
.unsubscribeOn(Schedulers.io()
auf allen Observablen muss.
Ja, ich möchte das erste Ergebnis aus dem beobachtbaren auf jeder – H3x0n
abonnieren bekommen können was Ich sollte tun, wenn ich nicht weiß, wie oft mein Observable abonniert wird und wann der Abonnent das Ergebnis erhalten soll, bevor alle abonniert sind. – H3x0n
This ist so ziemlich beantwortet in [diese Frage] (http://stackoverflow.com/questions/35951942/single-observable-with-multiple-subscribers) – JohnWowUs