我使用一个服务来用后端的数据填充我的可观察对象.后端正在删除正确的数据.现在我想获取可观测值,并建立一个图表.
代码部分如下所示:
this.dataSet = this.dataService.getData(this.id);
this.dataSet.subscribe(
x => this.rightData = x.rightCount,
x => this.wrongData = x.wrongCount,
);
console.log('First value: '+ this.rightData);
console.log('Second value: '+ this.wrongData);
this.pieChartData = [this.rightData, this.wrongData];
它不工作,控制台输出为:
First Value: undefined
Second Value: undefined
但当我将代码更改为以下内容时,控制台日志(log)会显示正确的数据:
this.dataSet = this.dataService.getData(this.id);
this.dataSet.subscribe(
x => console.log(x.rightCount),
x => console.log(x,wrongCount),
);
输出:
3
7
附加代码:
export interface Counter {
rightCount: number;
wrongCount: number;
}
dataSet: Observable<Counter> = of();
该服务看起来像:
getData(id: number): Observable<Counter> {
return this.http.get<Counter>(`/backend/getData?id=${id}`);
}
firefox日志(log)显示,后端返回:
{"rightCount":3,"wrongCount":7}
你知道我哪里出错了吗?