我需要执行休息操作并捕获错误,我这样做:
import { Injectable, } from '@angular/core';
import { Http, Response,Headers} from '@angular/http';
import { map} from 'rxjs/operators';
import { catchError } from 'rxjs/operators';
import { Observable} from 'rxjs';
@Injectable()
export class RESTSERCIVE{
getObject(id: number){
return this.http.get(this.url+"/"+id).pipe(map(
(response: Response)=>{return response.json()},
),
catchError(this.handleErrorObservable)
);
}
handleErrorObservable (error: Response | any)
{
return Observable.throw(error.message || error);
}
}
我不为什么会给我这个错误。有人可以帮助我吗?
答案 0 :(得分:7)
由于您使用的是Angular 6和RxJS 6,因此抛出错误的语法已更改。
以这种方式代替
import { throwError } from 'rxjs';
throwError(error.message || error);
在RxjS 6中,您也不需要将响应显式转换为JSON。它是自动完成的。因此,您可以从代码中删除地图。
希望这会有所帮助。