rxjs - 如何在 RxJs 5.5.6 中使用管道运算符
问题描述
我正在学习 Rxjs 运算符之类的东西。我了解地图运算符用于转换数据。但是使用管道运算符我无法使用 Map 运算符的方法。我正在使用 Rxjs 5.5.6 我有一个像 Observable
const source = Observable.of("david");
订阅该 Observable 并将该数据转换为大写的写法如下
source.pipe(
map(x => x.toString().toUpperCase())
).subscribe(data => console.log(data));
toString()
但是当我在地图运算符中删除它时。我不能再使用了。我的toUpperCase()
意思是为什么我需要将我的数据转换为字符串然后执行toUpper()
. 谁能让我知道我错过了什么。
解决方案
map 运算符是 RxJs 5 中可观察类的一种方法,因此您不需要管道
source.map(x => x.toString().toUpperCase());
引入管道操作符的原因是,操作符函数可以在 RxJs 6 中进行树摇动。
const source = Rx.Observable.of('david');
source.map(x => x.toString().toUpperCase()).subscribe(data => console.log(data));
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.5.6/Rx.min.js"></script>
为什么你还在使用 5.5.6?
const { of } = rxjs;
const { map } = rxjs.operators;
const source = of('david');
source.pipe(
map(x => x.toString().toUpperCase())
).subscribe(data => console.log(data));
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.5.3/rxjs.umd.min.js"></script>
推荐阅读
- python - 背景不圆按钮 tkinter
- php - 我的 Html 表单没有被插入到数据库中并且没有显示错误消息
- python - 是否可以在多进程中使用 find_raw_batches?
- electron - 两个窗口同时聚焦
- java - JDA:如何从 JSON 文件创建 MessageEmbed?
- javascript - Spring Boot静态内容问题
- apache-spark - 从 Spark 结构化流式作业中将单个事件中的多行记录批处理或发送到事件中心/kafka
- c# - 如何为 .NET 核心项目创建 .deb 文件
- c# - 在 Windows 窗体应用程序中嵌入移动模拟器
- ios - 单击推送操作按钮为空时的IOS getNotificationCategories