Ich habe folgendes Szenario. Ich erhalte Daten vom Server mit Retrofit2. Ich möchte Collection<Account>
von Account
Entitäten herunterladen und für jedes dieser Konten Collection<Project>
von Project
Entitäten herunterladen. Am Ende möchte ich Map<Account, Collection<Project>> accountsWithProjects
bekommen.Transform 2 RxJava Observables auf 1 Karte
Ich habe folgende Methoden:
Observable<Collection<Account>> requestAllAccounts()
Observable<Collection<Project>> requestProjectsInfoForTempoAccount(Account accunt)
Frage: Ist es möglich, irgendwie foreach Iteration dieser beiden reaktiven Ströme zu zip oder erstellen und sammeln Sie alle Einzelteile zur Karte?
Ich kann auch die Sammlung von Projekten für account synchron bekommen, wenn es hilft, kann es jedoch nicht auf Haupt-Thread tun, da die Entwicklung für Android und das Ergebnis auf Haupt-Thread beobachtet werden muss.
Danke, es gibt nur ein Problem, das ich versuche zu lösen: Die beobachtbare, die Sie erstellt haben, emittiert viele 'Map>' Instanzen. Jede Instanz mit nur einem Map.Entry. Gibt es eine Möglichkeit, sie alle in einer Karte zusammenzufassen, bevor Sie sich anmelden? –
Sind Sie sicher? Wenn die Funktionen 'requestAllAccounts()' und 'requestProjectsInfoForTempoAccount (Account accunt)' die Auflistungen nur einmal zurückgeben (ein 'onNext (...) 'Aufruf), sollte es wie erwartet funktionieren. –
Ja, tut mir leid, du hast Recht. Ich habe versucht, es mit Lambdas neu zu schreiben und etwas zu vermasseln. Danke noch einmal! –