Как использовать трубочный оператор в RxJs 5.5.6 - PullRequest
0 голосов
/ 07 октября 2019

Я изучаю Rxjs операторы и прочее. Я понял, что оператор карты используется для преобразования данных. Но с использованием оператора pipe я не могу использовать методы оператора 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(). Может кто-нибудь, пожалуйста, дайте мне знать, что я скучаю.

1 Ответ

0 голосов
/ 07 октября 2019

Оператор 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...