typescript - RxJs - esperando a que todos los Observables terminen
Tengo este fragmento de código:
myModel.tags
.filter(...)
.map(...)
.forEach(t => context.dispatch(new MyAction(t)))
dispatch devuelve un Observable.
Me gustaría ejecutar otro código de RxJs solo cuando todos esos Observables hayan finalizado.
¿Es eso posible?
Respuesta #1
Si quieres saber cuándo todos los Observables se completan, tienes que reunirlos todos en un arreglo y luego usar idealmente forkJoin:
const obs = myModel.tags
.filter(...)
.map(...)
.map(t => context.dispatch(new MyAction(t)))
const done$ = forkJoin(...obs).subscribe(...);
El método de creación de observable forkJoin emitirá solo una vez con el arreglo de todas las respuestas y luego se completará.
