RxJava- Durchlaufen Sie asynchrone Aufgaben und warten Sie, bis sie abgeschlossen sind

StackOverflow https://stackoverflow.com//questions/23049533

  •  21-12-2019
  •  | 
  •  

Frage

Ich versuche, asynchrone Arbeiten durchzuführen n elemente und warten Sie, bis alle Elemente abgeschlossen sind, bevor Sie fortfahren.

Was lege ich in die whatfunc? ort, an dem das Abonnement einmal vollständig ausgelöst werden soll?

Observable.range(0, n)
    .<whatfunc?>({ s ->  doAsyncWorkThatReturnsObservable(s) })
    .(other?)
    .subscribe({println "All complete"})

Danke

War es hilfreich?

Lösung

Flachkarte

Stellen Sie sicher, dass Sie die richtigen Argumente in subscribe schließen.Beispiel aus dem Link angepasst an Ihr bereitgestelltes Beispiel:

Observable.range(0, n)
    .flatMap({n -> doAsyncWorkThatReturnsObservable(n)})
    .subscribe(
       { println(it); },                          // onNext
       { println("Error: " + it.getMessage()); }, // onError
       { println("Sequence complete"); }          // onCompleted
    );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top