rxjs__WEBPACK_IMPORTED_MODULE_3 __。Observable.throw不是

时间:2018-09-21 09:03:23

标签: angular observable angular6

我需要执行休息操作并捕获错误,我这样做:

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);
  }
}

我不为什么会给我这个错误。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:7)

由于您使用的是Angular 6和RxJS 6,因此抛出错误的语法已更改。

以这种方式代替

import { throwError } from 'rxjs';
throwError(error.message || error);

在RxjS 6中,您也不需要将响应显式转换为JSON。它是自动完成的。因此,您可以从代码中删除地图。

希望这会有所帮助。