Angular 2 Observables используют 1 или несколько труб? - PullRequest
0 голосов
/ 07 мая 2019

Имея следующее (просто быстрый пример):

observable.pipe(map( s => s.anything ))
          .pipe(filter(t => t > 5))
          .pipe(map( t => t+5))
          .subscribe( XXX )

Почему я должен использовать 1 трубу?

    observable.pipe(
                   map( s => s.anything ), filter(t => t > 5),map( t => t+5))
              .subscribe( XXX )

Для меня код более приятный и читаемый в первом случае. Но не знаю, влияет ли это на поведение в любом случае.

1 Ответ

1 голос
/ 07 мая 2019

Вы должны использовать одну трубу для этой цели.Наличие нескольких каналов не будет служить цели или выгоды, поскольку использование каналов состоит в объединении функциональных операторов RxJS в одну цепочку.

Чтобы сделать его более читабельным, вы можете сделать что-то подобное, вместо того, чтобывсе операторы в одной строке кода.

observable
  .pipe(
    map(s => s.anything ),
    filter(t => t > 5),
    map(t => t+5)
  ).subscribe(res => {
    // do the rest
});

Официальное руководство по Angular содержит хорошее резюме по использованию каналов и других операторов.Вы можете прочитать об этом больше здесь .Вы должны прочитать о конвейерных операторах более чем здесь .

...