2016-09-21 4 views
0

Ich habe einen eckigen Service, der eine filterObservable zurückgibt.RxJS - Zip mehrere Abonnenten Ergebnisse in ts Compiler Fehler

Ich möchte mehrere Anrufe über Rx.Observable.zip() kombinieren.

Es funktioniert genau wie erwartet, aber meine Typoskript Compiler einen Fehler für meine Methode löst:

error TS2346: Supplied parameters do not match any signature of call target.

könnten Sie mir einen Tip geben, was ich falsch mache und wie der Fehler zu lösen?

protected getCombinedResults(ids:number[]) { 
    let observablesToGetZipped = ids.map(id => this.myService.loadResource(id)); 

    if (observablesToGetZipped.length > 1) { 
     return Rx.Observable 
     .zip(observablesToGetZipped) 
     .take(1); 
    } 

    return observablesToGetZipped[0].take(1); 
    } 

ich nenne das Verfahren wie folgt aus:

this.getCombinedResults([1,2,3,4,5]).subscribe(result => { ... }); 

Antwort

0

Für alle, die in der Lösung interessiert ist:

tat dies der Trick für mich

return Rx.Observable 
    .zip.apply(Rx.Observable, observablesToGetZipped) 
Verwandte Themen