Не можете использовать простую карту? - PullRequest
0 голосов
/ 11 мая 2018

Я следую этому уроку: https://www.youtube.com/watch?v=KhzGSHNhnbI&t=527s

И в 51:41 он использует карту. Но мой код не работает. Почему я не могу использовать это? Я получаю

Карта недвижимости не существует на Наблюдаемой <Response>

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

@Injectable({
  providedIn: 'root'
})
export class DataService {

  constructor(public http:Http) { 
    console.log("Data service connected...");
  }

  getPosts() {
    this.http.get('https://jsonplaceholder.typicode.com/posts').map(res => res.json());
  }
}

1 Ответ

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

Сервисный код, который вы предоставляете, использует angular 6 с зависимостью от rxjs 6.

Таким образом, начиная с rxjs 6, вы должны использовать конвейерные операторы, а пути импорта изменяются.поэтому, пожалуйста, измените код следующим образом

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { map } from 'rxjs/operators';

@Injectable({
  providedIn: 'root'
})
export class DataService {

  constructor(public http:HttpClient) { 
    console.log("Data service connected...");
  }

  getPosts() {
    this.http
      .get('https://jsonplaceholder.typicode.com/posts')
      .pipe(
        map(res => res.json())
       );
  }
}

И еще одна рекомендация, пожалуйста, начните использовать модуль HttpClient вместо модуля Http.Так что даже вам не нужно использовать карту, чтобы получить ответ json

Пожалуйста, проверьте эту ссылку для httpClient Module

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