Javascript 不能使用简单地图?

Javascript 不能使用简单地图?,javascript,angular,Javascript,Angular,我将遵循本教程: 51点41分,他使用地图。但是我的代码不起作用。为什么我不能用它?我明白了 Observable上不存在属性映射 您提供的服务代码使用的是angular 6,它依赖于rxjs 6 因此,从rxjs 6开始,您必须使用可管道操作符,并修改导入路径。因此,请按如下方式更改代码 import { Injectable } from '@angular/core'; import { Http } from '@angular/http'; import { map } from 'r

我将遵循本教程:

51点41分,他使用地图。但是我的代码不起作用。为什么我不能用它?我明白了

Observable上不存在属性映射


您提供的服务代码使用的是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模块。因此,即使您不需要使用map来获得json响应


请检查httpClient模块的此项。

http.get()
返回承诺。请尝试
http.get()。然后((数据)=>res.json(数据))
i忽略相同的错误,但使用
then
和res不存在。我一定会喜欢这个没有人知道答案的教程。这应该是可行的。您使用的是什么版本的angular?似乎在较新的版本中,他们更改了map import语句()。我完全按照他所说的npm install-g@angular/cli做了
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())
       );
  }
}