我很难使用Angular RxJS observables。
getOptions(): Observable<PickQuality[]> {
// Fetches content from my service
}
choose(n?: number): Observable<PickQuality[]> {
var chosenObserver: Observer<PickQuality[]>;
alert(n); // <---- 1st alert
return this.getOptions().map(options => {
alert(n); // <---- 2nd alert
var sorted = options.sort((a, b) => b.score - a.score);
var chosen: PickQuality[];
if(n) chosen = sorted.slice(0, n);
else chosen = sorted.slice(0, 1);
return chosen;
});
}
我正在对我的choose()
功能进行以下调用:
test.choose().subscribe(a => console.log(a));
test.choose(5).subscribe(b => console.log(b));
test.choose(15).subscribe(c => console.log(c));
3 1st警报正确打印(未定义,5,15)。但是3号警报打印&#34; 15&#34; 3次,我不知道为什么。最终结果也是不正确的,因为我的功能将始终返回15个大小的切片。