Question

J'essaie de faire un travail asynchrone sur n éléments et attendez que tous les éléments soient terminés avant de continuer.

Qu'est-ce que je mets dans le whatfunc? emplacement pour s'abonner au feu complet une fois ?

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

Merci

Était-ce utile?

La solution

platCarte

Assurez-vous de fermer les arguments corrects dans l'abonnement.Exemple de lien ajusté pour correspondre à votre exemple fourni :

Observable.range(0, n)
    .flatMap({n -> doAsyncWorkThatReturnsObservable(n)})
    .subscribe(
       { println(it); },                          // onNext
       { println("Error: " + it.getMessage()); }, // onError
       { println("Sequence complete"); }          // onCompleted
    );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top