没有调用HttpClient体图

时间:2018-03-20 15:21:48

标签: angular

有没有人知道为什么没有调用map函数体?

除了API不工作,我已经检查过它正在工作。

this.httpClient.get(this.url)
  .map(
    (data) => {
      console.log('here');
      console.log(data);
      return data;
    }
  )

2 个答案:

答案 0 :(得分:2)

Observable很冷,这意味着您必须订阅才能调用它并拥有值。

this.httpClient.get(this.url)
  .map(
    (data) => {
      console.log('here');
      console.log(data);
      return data;
    }
  ).subscribe(data => console.log('GOT DATA', data));

只需添加订阅即可调用管道。

答案 1 :(得分:0)

您需要提及data的类型,即Response,除此map运算符用于以所需格式解析您的响应,并返回一个可观察的subscribed {1}}

this.httpClient.get(this.url)
  .map(response => response.json())
  .subscribe(data=>console.log(data));

我认为你使用的是angular> = 4.2.3,这意味着你不需要map operatoer因为新的HttpClient默认格式化了对JSON的响应所以我们不再需要解析它使用response.json():