RXJS Wait for all observables in an array to complete (or error)

前端 未结 4 2180
走了就别回头了
走了就别回头了 2020-12-01 07:32

I\'m pushing observables into an array like such...

var tasks$ = [];
tasks$.push(Observable.timer(1000));
tasks$.push(Observable.timer(3000));
tasks$.push(Ob         


        
4条回答
  •  星月不相逢
    2020-12-01 07:52

    If you want to compose an observable that emits when all of the source observables complete, you can use forkJoin:

    import { Observable } from 'rxjs/Observable';
    import 'rxjs/add/observable/forkJoin';
    import 'rxjs/add/operator/first';
    
    var tasks$ = [];
    tasks$.push(Observable.timer(1000).first());
    tasks$.push(Observable.timer(3000).first());
    tasks$.push(Observable.timer(10000).first());
    Observable.forkJoin(...tasks$).subscribe(results => { console.log(results); });
    

提交回复
热议问题