如何在RxJs 5.5.6

时间:2019-10-07 10:53:10

标签: rxjs

我正在学习Rxjs运算符和东西。我了解到地图运算符用于转换数据。但是使用管道运算符时,我无法使用Map运算符的方法。我正在使用Rxjs 5.5.6 我有一个

const source = Observable.of("david");

并订阅该Observable并将其转换为大写形式,就像

    source.pipe(
      map(x => x.toString().toUpperCase())
    ).subscribe(data => console.log(data));

但是当我在地图运算符中删除该toString()时。我再也无法使用toUpperCase()。我的意思是为什么我需要将数据转换为字符串然后执行toUpper()。 谁能让我知道我在想什么。

1 个答案:

答案 0 :(得分:0)

地图运算符是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>