Programing

TypeError: rxjs__WEBPACK_Imported_MODUL_2__관측할 수 있다.던지기는 함수가 아니다.

c10106 2022. 3. 25. 21:25
반응형

TypeError: rxjs__WEBPACK_Imported_MODUL_2__관측할 수 있다.던지기는 함수가 아니다.

다음은 내 파일 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_MODUL_2__관측할 수 있다.던지기는 함수가 아니다.

가져오기:

import { throwError } from 'rxjs';

사용량:

return throwError(err);

Observable.throw()삭제됨.

사용 시도Observable.throwError()분명히 정의가 아직 최신 상태가 아닌 것 같아.

다음을 사용하여 가져올 수 있다.import { throwError } from 'rxjs';

각도 8에서 사용

throwError(new NotFoundError("Resource Not Found."))

사용하지 마십시오.

Observable.throw(new NotFoundError("Resource Not Found."))

전체 예

catchError((error:Response) => {
    if(error.status === 404) {
      return throwError(new NotFoundError("Resource Not Found."));
    }
    return throwError(new AppError(error));
});

참조URL: https://stackoverflow.com/questions/50602511/typeerror-rxjs-webpack-imported-module-2-observable-throw-is-not-a-function

반응형