Ich habe den folgenden Code:Angular 2 - Run 2 Abonnement in der gleichen Zeit
//Subscription 3: role ID to role Name
af.database.object('/roles/'+businessRole.$value)
.subscribe((roleData) => {
//Subscription 4: Get user info
af.database.object('/users/'+businessRole.$key).subscribe(user => {
der ein Abonnement in einem Abonnement enthält.
Das Problem hier ist, dass die App auf die erste wartet, bevor die zweite läuft. Ich möchte beide auf einmal ausführen und das Ergebnis von jedem erhalten. Wie kann ich das machen?
Ich habe mit Promise.All()
vor, aber:
- Ich würde gerne wissen, wie ich kann mit rxjs tut
- ich nicht einen Weg finden könnte das Ergebnis jeder beobachtbaren mit
Promise.All()
zu erhalten
Dank
Wie kann ich die Ausgabe von jeder beobachtbaren Daten? 'val' ist ein Array mit jedem beobachtbaren Ausgang? – TheUnreal
@TheUnreal 'merge()' -Operator gibt Werte von allen Observablen aus, die er als Argument erhält, damit der Callback in '.subscribe()' für jede Antwort aufgerufen wird. – martin
Es ist ein Problem, da ich die Ausgabe von jedem erhalten und verwenden muss, und mit dieser "merge" -Methode kann ich nicht bestimmen, welche beobachtbare jede Ausgabe erneut, habe ich mich geirrt? Zum Beispiel muss ich die Variablen "observables" in der Variablen "user" speichern und die Variable "role" für die zweite Variable. – TheUnreal