我使用http请求和rxjs在服务器上以角方式显示数据,但即使在导入rxjs的map属性之后,也会出现错误。
import { Injectable } from '@angular/core';
import {HttpClient,HttpHeaders,HttpErrorResponse} from '@angular/common/http';
import {throwError } from 'rxjs';
import 'rxjs/add/operator/map';
@Injectable({
providedIn: 'root'
})
export class AuthService {
constructor(private http:HttpClient) { }
registerUser(user){
let headers = new HttpHeaders();
headers.append('content-type','application/json');
return this.http.post('http://localhost:8080/users/register',user,{headers:headers})
.map(response =>response.json())
.catch(this.errorHandler)
}
errorHandler(error:HttpErrorResponse){
return throwError(error.message||"Server not responding");
}}
我甚至像这样导入map属性:
import {map} from 'rxjs/add/operator';错误:
Property 'map' does not exist on type 'Observable<Object>'用户是一个对象
发布于 2019-03-24 06:30:17
如果您使用的是RXJS 6或更高版本,则运算符的用法发生了一些变化。
你通过以下方式进口:
import { map, catchError } from 'rxjs/operators';您可以在管道操作符内部使用映射,例如:
return this.http.post('http://localhost:8080/users/register',user,{headers:headers})
.pipe(
map(response => {
// doSomething
}),
catchError(error => {
this.errorHandler(error);
return of(`Caught an error: ${error}`);
})
);https://stackoverflow.com/questions/55321243
复制相似问题