我有一个返回filterObservable
的角度服务。
我希望通过Rx.Observable.zip()
组合多个来电。
它的工作方式与预期一致,但我的typescript编译器会为我的方法抛出一个错误:
error TS2346: Supplied parameters do not match any signature of call target.
你可以给我一个提示,我做错了什么以及如何解决错误?
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);
}
我打电话给这样的方法:
this.getCombinedResults([1,2,3,4,5]).subscribe(result => { ... });
答案 0 :(得分:0)
对于对解决方案感兴趣的任何人:
这对我有把戏
return Rx.Observable
.zip.apply(Rx.Observable, observablesToGetZipped)