更新rxjs会给出映射错误

时间:2016-08-21 15:47:15

标签: angular

我最近将我的rxjs版本从beta.2更新为beta.11并且与其他软件包相同,现在我的map无法正常工作...我尝试像其他人一样https://github.com/ReactiveX/rxjs/issues/1888做了,同样的错误:

Property 'map' does not exist on type 'Observable<Response>'.

我的service.ts看起来像这样:

import Rx from "rxjs"
import {Http} from "angular2/http";
import {Injectable} from "angular2/core";
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
import 'rxjs/add/operator/map';

@Injectable()
export class ApiService {
constructor(private http: Http) { }

get(onNext: (json: any) => void) {
    this.http.get("api/random").map(response => response.json()).subscribe(onNext);
}}

我的包JSON看起来像这样(部分):

  "dependencies": {
"angular2": "2.0.0-beta.17",
"bootstrap": "3.3.7",
"es6-promise": "^3.2.1",
"es6-shim": "^0.35.1",
"jquery": "3.1.0",
"reflect-metadata": "0.1.8",
"rxjs": "5.0.0-beta.11",
"systemjs": "0.19.36",
"zone.js": "0.6.15",
"typescript": "1.8.10"  },

此外,我意识到当我将rxjs从beta.2更新为beta.11时,更改的包文件夹也有Rx.jsRx.umd.js,现在只有Rx.umd.js留下......想到可能是Visual Studio没有下载完整的库...但是也尝试使用Node.js,相同的下载文件...但是在rxjs更改日志中找不到有关这些更改的内容。 ..如果我降级它工作正常......

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

我有类似的问题。我解决了从主包而不是Observable导入rxjs/Observable的问题:

import { Observable } from 'rxjs/Rx';

如果这不起作用,也许可以尝试发布一个Plunker。复制问题并帮助您更容易。

答案 1 :(得分:0)

解决方案就在这个主题中: https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507

并且这样做了:

对于VS 2015(更新3):