我正在尝试从mongodb获取数据,我为此编写了一项服务。但我收到的错误如error TS2339: Property 'map' does not exist on type 'Observable<Response>'
请帮我解决此错误...
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class DataService {
result:any;
constructor(private _http: Http) { }
getUsers() {
return this._http.get("/api/users")
.map(result => this.result = result.json().data);
}
}
答案 0 :(得分:5)
您必须以不同方式导入和使用map
运算符:
更改
import 'rxjs/add/operator/map';
到
import { map } from 'rxjs/operators';
然后,做
return this._http.get("/api/users")
.pipe(map(result => this.result = result.json().data));
从Http服务迁移到HttpClient。见migration guide
要更新为
HttpClient
,您需要将HttpModule
替换为 每个模块中来自HttpClientModule
的{{1}}, 注入@angular/common/http
服务,并删除任何HttpClient
电话,不再需要。