当前位置:  开发笔记 > 编程语言 > 正文

Angular2 http缺少.map函数

如何解决《Angular2http缺少.map函数》经验,为你挑选了2个好方法。

我在教程中找到了这个示例代码:

getRandomQuote() {
  this.http.get('http://localhost:3001/api/random-quote')
    .map(res => res.text())
    .subscribe(
      data => this.randomQuote = data,
      err => this.logError(err),
      () => console.log('Random Quote Complete')
    );
}

但是当试图使用它时,我只得到TypeError: this.http.get(...).map is not a function in [null]:

getChannels():Promise {
    return this.http.get('...')
        .map(function (response:Response) {
            ...
        }).toPromise();
}

我的Typescript编译器告诉我这些方法是可用的,但是当检查http.get()它们的返回值时,它们就丢失了.

我使用了当前angualar2入门指南的package.json:

"dependencies": {
  "angular2": "2.0.0-beta.0",
  "systemjs": "0.19.6",
  "es6-promise": "^3.0.2",
  "es6-shim": "^0.33.3",
  "reflect-metadata": "0.1.2",
  "rxjs": "5.0.0-beta.0",
  "zone.js": "0.5.10"
},

...



在这一点上我有什么想法可能会出错?



1> Sasxa..:

Observable默认情况下只有几个运算符.你必须明确导入它们:

import 'rxjs/add/operator/map';

或者,如果您不想考虑它,只需加载所有内容(例如,在您的引导程序文件中):

import 'rxjs/Rx';



2> brando..:

您希望index.html看起来像这样,因此system.js可以找到您在组件中导入的所有rxjs依赖项.

        
        
        

        
        
        
        
        
推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有