首页 >web前端 >js教程 >为什么 `this.http.get(...).map` 不是我的 Angular HTTP GET 请求中的函数?

为什么 `this.http.get(...).map` 不是我的 Angular HTTP GET 请求中的函数?

Linda Hamilton
Linda Hamilton原创
2024-11-25 11:12:11975浏览

Why is `this.http.get(...).map` not a function in my Angular HTTP GET request?

带有 TypeScript 的 Angular HTTP GET 错误:this.http.get(...).map 不是函数

概述

尝试时使用 Angular 执行 HTTP GET 请求时,一些开发人员遇到以下错误:TypeError: this.http.get(...).map is not a function in [null]。这可能会令人沮丧并停止应用程序开发。

解决方案

该错误很可能是由于缺少 RxJS 运算符造成的。要解决此问题,您需要将 .map() 方法所需的运算符导入到代码中。

导入适当的运算符:

import 'rxjs/add/operator/map';

这将仅导入 .map() 运算符并将其添加到您的应用程序中。

替代方案:全部导入运算符(警告)

如果您希望访问所有 50 个 RxJS 运算符,您可以使用以下语句将它们全部导入,但请注意,这会增加应用程序的包大小:

import 'rxjs/Rx';

示例实现

这是 TypeScript 中 .map() 运算符的示例实现代码:

getHalls() {
  return this.http.get(HallService.PATH + 'hall.json')
    .map((res: Response) => res.json());
}

附加说明

有关此主题的更多详细信息和讨论,请参阅以下问题:

  • https://github.com/角度/角度2/问题/11564

以上是为什么 `this.http.get(...).map` 不是我的 Angular HTTP GET 请求中的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn