undefined 不是对象(正在计算 'this.http.get')

undefined is not an object (evaluating 'this.http.get')

有人可以告诉我我做错了什么吗:

对不起,我感觉我疯了 30 分钟。

getChartData() {
  this.http
    .get('http://localhost:3001/transactions/' + sessionStorage.getItem('id'))
    .toPromise()
    .then((data: any) => {
      this.data = data;
    });
}
<button (click)="getChartData()">click</button>

错误:

TypeError: undefined is not an object (evaluating 'this.http.get')

你必须 return 从你的函数中得到一些东西。对于您当前的代码示例,如果将鼠标悬停在函数名称上,您会看到它显示 void.

此外,我建议使用 observables 而不是 promises,Angular 大量使用

getChartData() {
   // return the HTTP response
   return this.http.get( 
     'http://localhost:3001/transactions/' 
       + sessionStorage.getItem('id'))
}

然后简单地订阅它以获取响应

someFunction() {
   this.service.getChartData().subscribe((response) => console.log(response))
}