【发布时间】:2018-05-30 10:35:59
【问题描述】:
这是我的文件 userdata.service.ts :
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import {Observable} from 'rxjs';
import { map } from "rxjs/operators";
import { catchError } from 'rxjs/operators';
import { Data } from './userdata';
@Injectable()
export class UserDataService {
url : "http://localhost:4200/assets/data/userdata.json";
constructor(private http:Http) { }
getDataWithObservable() : Observable<any>{
return this.http.get(this.url)
.pipe(
map(this.extractData),
catchError(this.handleErrorObservable)
);
}
private extractData(res: Response)
{
let body = res.json();
return body;
}
private handleErrorObservable (error: Response | any)
{
return Observable.throw(error.message || error);
}
}
我收到以下错误:
TypeError: rxjs__WEBPACK_IMPORTED_MODULE_2__.Observable.throw 不是 功能
【问题讨论】:
-
您使用的是哪个版本的 Angular? rxjs 6?
-
可以分享
your package.json -
"rxjs": "^6.0.0" :这是我的 package.json 中的内容,所以是的,只有 6 个
-
"依赖项": { "@angular/animations": "^6.0.0", "@angular/common": "^6.0.0", "@angular/compiler": "^ 6.0.0”、“@angular/core”:“^6.0.0”、“@angular/forms”:“^6.0.0”、“@angular/http”:“^6.0.0”、“@angular /platform-browser": "^6.0.0", "@angular/platform-browser-dynamic": "^6.0.0", "@angular/router": "^6.0.0", "body-parser" :“^1.18.3”,“core-js”:“^2.5.4”,“express”:“^4.16.3”,“mysql”:“^2.15.0”,“ngx-bootstrap”:“ ^3.0.0", "rxjs": "^6.0.0", "zone.js": "^0.8.26" }
-
您使用的是 Angular 6 伴侣而不是 Angular 2