返回可观察

时间:2017-02-25 00:48:21

标签: javascript angular rxjs observable angular2-services

我很难使用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个大小的切片。

0 个答案:

没有答案