RxJava- percorrer tarefas assíncronas e aguardar a conclusão
Pergunta
Estou tentando fazer algum trabalho assíncrono n
itens e aguarde até que todos os itens sejam concluídos antes de continuar.
O que eu coloco no whatfunc?
local para que o onComplete da assinatura seja acionado uma vez?
Observable.range(0, n)
.<whatfunc?>({ s -> doAsyncWorkThatReturnsObservable(s) })
.(other?)
.subscribe({println "All complete"})
Obrigado
Solução
Certifique-se de fornecer encerramentos para os argumentos corretos em subscribe.Exemplo do link ajustado para se adequar ao exemplo fornecido:
Observable.range(0, n)
.flatMap({n -> doAsyncWorkThatReturnsObservable(n)})
.subscribe(
{ println(it); }, // onNext
{ println("Error: " + it.getMessage()); }, // onError
{ println("Sequence complete"); } // onCompleted
);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow