错误:.map()不是函数

时间:2016-02-13 08:09:10

标签: http xmlhttprequest angular

尝试从组件订阅HTTP-GET的已解析响应。获取错误说.map不是从HTTPService或组件类使用的函数。

Httpdemo.getResponse().map(res => res.json()).subscribe((cities)=>{ 
   this.cities = cities.cities;          
   console.log(this.cities);
});

但是以下工作:

Httpdemo.getResponse().subscribe((cities)=>{ 
    this.cities = JSON.parse(cities._body).cities;          
    console.log(this.cities);
});

解析在Httpdemo服务中也不起作用。

return this.http.get('./app/cities.json').map(res => res.json())

我的代码中的用法有什么问题?

2 个答案:

答案 0 :(得分:2)

您需要导入Observable的地图运算符,如下所述:

import 'rxjs/add/operator/map';

默认情况下,不包括所有运算符。

有关详细信息,请参阅此答案:

答案 1 :(得分:2)

一般情况下,如果您不想加载/定位单个Rxjs运算符,我建议在库下导入。

使用,

  

导入'rxjs / Rx';