angular - RsJX 'Map' 运算符在 Angular 6 中不起作用
问题描述
我正在尝试使用map
RxJS 中的运算符,但它会抛出一个错误说
“可观察”类型上不存在属性“地图”。
这是代码
import { Injectable } from "@angular/core";
import { Http } from "@angular/http";
import "rxjs/add/operator/map";
@Injectable()
export class DataService {
constructor(public http: Http) {}
getData() {
return this.http
.get("https://jsonplaceholder.typicode.com/users")
.map(res => res.json());
}
}
解决方案
For firstHttp
在比Angular 4更高的版本中被弃用。而不是它,您需要使用HttpClient
with HttpClientModule
from "@angular/common/http"
。并且使用HttpClient
您将获得JSON解析结果,因此您不需要res.json()
更长的时间。
第二个map
新版本的RxJS正在以另一种方式使用。它现在是可管道的,您需要将它与pipe
.
import { Injectable } from "@angular/core";
import { HttpClient} from "@angular/common/http";
@Injectable()
export class DataService {
constructor(public httpClient: HttpClient) {}
getData() {
return this.httpClient
.get("https://jsonplaceholder.typicode.com/users")
}
}
使用map
运算符
import { map } from 'rxjs/operators';
...
someFunction() {
this.httpClient.get("https://jsonplaceholder.typicode.com/users")
.pipe(map(res) => something with res);
}
...
推荐阅读
- php - 使用 cURL 使用 PHP 上传文件(服务器到服务器)
- typescript - 如何使用管道将html传递给角度模板?
- postman - Postman 测试的最新更改并未反映在 Newman 中
- python - 我将如何使用包含 json 键的列表列表来引用 json 中的值
- amazon-web-services - 在多个 ec2 实例上安装软件以及 json 文件
- javascript - 请帮助我从 firebase firestore 检索数据并存储在变量中
- java - 如何防止错误消息在 Java 中重复出现?
- sql - 提取 Hive SQL 中两个字符之间的数字
- quarkus - 将 quarkus-hibernate-reactive-panache 与 quarkus-reactive-mysql-client 一起使用时出现异常“不使用 JDBC” - (Quarkus 1.12.2.Final)
- list - 尝试检查 picturebox.image 是否与列表 C# 的某些索引匹配