使用Observable进行Http请求

时间:2017-05-08 17:20:02

标签: angular

我一直在尝试使用我的http请求实现observable,这样我就可以确保我的组件在进展之前接收数据。这是我试图做的,但我无法得到我想要的正确的过程。 目前,由于请求的异步性质,分配给lineChartArray中的数据的购买仍为空。

我希望组件等待接收数据并指定购买。

1 个答案:

答案 0 :(得分:0)

  1. 您必须重新分配lineChartData或者您必须成长/追加purchase
  2. 您应该使用OnInit而不是执行构造函数的请求。
  3. 以下是重新分配lineChartData的示例。

    import { Component, OnInit } from '@angular/core';
    
    export class MyComponent implements OnInit {
        Games : Games[] = [];
        purchase = [];
        public lineChartData:Array<any> = [];
    
        constructor(private httpService:HttpService){
        }
    
        ngOnInit() {
            this.httpService.fetchPurchase()
            .subscribe(data => {
                this.Games = data;
                this.purchase = data.map((v)=> v.confidence_level);
                this.lineChartData = [{data: this.purchase ,  label: 'Series A'}];
            });
        }
    }