Angular2 可观察 - 函数必须返回值



我写了一个 angular2 服务。该服务应 - 从另一个服务加载数据 - 处理数据 - 应该本身返回一个包含组件数据的可观察量

所以我写了这个:

getTimers(): Observable<Array<Timer>> {
        this.apiService.getTimers().
            subscribe(
            data => {
                this.variables.setTimers(data.length);
                let timers: Array<Timer> = this.formatter.formatTimers(data);
                this.setOngoingTimers(timers);
                return Observable.of(timers);
            },
            error => { return Observable.throw(error); }); 
    }

这是我得到的错误:

A function whose declared type is neither 'void' nor 'any' must return a value.

有人可以指出我正确的方向吗?

getTimers(): Observable<Array<Timer>> {声明返回类型但不返回任何内容。

我假设你想要的是

getTimers(): Observable<Array<Timer>> {
  return this.apiService.getTimers().
        map(
        data => {
            this.variables.setTimers(data.length);
            let timers: Array<Timer> = this.formatter.formatTimers(data);
            this.setOngoingTimers(timers);
            return Observable.of(timers);
        });,
        //error => { return Observable.throw(error); }); 
}

该行

return Observable.of(timers);

仅从传递给map()(以前的subscribe()(的函数返回,而不从getTimers()

最新更新