Javascript 不能使用简单地图?
我将遵循本教程: 51点41分,他使用地图。但是我的代码不起作用。为什么我不能用它?我明白了 Observable上不存在属性映射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
您提供的服务代码使用的是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())
);
}
}