Domanda

Sto tentando di eseguire alcuni lavori asincroni su articoli n e attendere tutti gli elementi da completare prima di procedere.

Che cosa metto nella posizione whatfunc? per avere un fuoco oncomplete di iscrizione una volta?

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

Grazie

È stato utile?

Soluzione

flatmap

Assicurarsi di fornire chiusure agli argomenti corretti in iscrizione.Esempio dal collegamento regolato per adattarsi all'esempio fornito:

Observable.range(0, n)
    .flatMap({n -> doAsyncWorkThatReturnsObservable(n)})
    .subscribe(
       { println(it); },                          // onNext
       { println("Error: " + it.getMessage()); }, // onError
       { println("Sequence complete"); }          // onCompleted
    );
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top