ошибка TS2339: свойство 'map' не существует для типа 'Observable <Response>' - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь получить данные от mongodb, для которых я написал сервис. Но я получаю сообщение об ошибке типа error TS2339: Property 'map' does not exist on type 'Observable<Response>'

Пожалуйста, помогите мне решить эту ошибку ...

import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class DataService {

  result:any;

  constructor(private _http: Http) { }

  getUsers() {
    return this._http.get("/api/users")
      .map(result => this.result = result.json().data);
  }

}

1 Ответ

0 голосов
/ 07 мая 2018

Вы должны импортировать и использовать оператор map по-разному:

Изменить

import 'rxjs/add/operator/map';

на

import { map } from 'rxjs/operators';

Затем выполните

return this._http.get("/api/users")
      .pipe(map(result => this.result = result.json().data));

Дополнительное предложение от Vikas

Миграция из службы Http в HttpClient.см. руководство по миграции

Чтобы обновить до HttpClient, вам нужно заменить HttpModule на HttpClientModule с @angular/common/http в каждом из ваших модулей, введитеHttpClient и удалите все map(res => res.json()) звонки, которые больше не нужны.

...