错误:.map() 不是函数 [重复]

Posted

技术标签:

【中文标题】错误:.map() 不是函数 [重复]【英文标题】:Error : .map() is not a function [duplicate] 【发布时间】:2016-05-24 11:42:48 【问题描述】:

尝试订阅已解析的 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())

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

【问题讨论】:

【参考方案1】:

您需要为 Observable 导入 map 操作符,如下所述:

import 'rxjs/add/operator/map';

默认情况下,并非所有运算符都包括在内。

查看此答案了解更多详情:

Angular 2 HTTP GET with TypeScript error http.get(...).map is not a function in [null]

【讨论】:

【参考方案2】:

一般来说,如果您对加载/定位单个 Rxjs 运算符不感兴趣,我建议您导入下面的库。

使用,

导入 'rxjs/Rx';

【讨论】:

以上是关于错误:.map() 不是函数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript,类型错误:Information.map 不是函数 ||如何使用.map?

如何修复 React 中的“TypeError:categories.map 不是函数”错误

使用 JavaScript Map 时如何修复错误“.has 不是函数”?

类型错误:msg.map 不是函数

d3.min.js 未捕获的类型错误:a.map 不是函数

错误:“currentUser”不是函数或方法,无法调用[重复]