2017-12-19 4 views
0

Dieser ForkJoin wird nie abgeschlossen, obwohl die Observablen darin fehlen, was fehlt mir?rxjs forkJoin beendet nie

return Observable.forkJoin([ 
    this.ProductManager.get(params['brandId'], params['productId']) 
    .map(product => <Product> product) 
    .do(product => {this.product = product;}) 
    .do(() => console.log('a1'),() => console.log('a2'),() => console.log('a3')), 

    this.basketContext.basket.take(1) 
    .do(() => console.log('b1'),() => console.log('b2'),() => console.log('b3')) 
]) 
.do(() => console.log('1'),() => console.log('2'),() => console.log('3')); 

Console:

b1 
b3 
a1 
a3 
1 

Warum ist die onComplete für die forkJoin nie genannt?

+0

Sind Sie sicher, dass alle Quellen Observables mindestens ein Element ausstrahlen? – martin

Antwort

0

Offenbar, wenn der nachfolgende subscribe() einen Fehler auslöst, ist der komplette Rückruf nie beendet ... Der Fehler war still, also habe ich ihn falsch verstanden, weil der forkJoin nicht abgeschlossen wurde.