Ошибка типа: rxjs__WEBPACK_IMPORTED_MODULE_2 __. Observable.throw не является функцией - PullRequest
0 голосов
/ 30 мая 2018

Вот мой файл 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_MODULE_2 __. Observable.throw не является функцией

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Импорт:

import { throwError } from 'rxjs';

Использование:

return throwError(err);
0 голосов
/ 30 мая 2018

Observable.throw() было удалено.

Попробуйте использовать Observable.throwError().Очевидно, определения еще не обновлены.

Вы можете импортировать его, используя import { throwError } from 'rxjs';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...