RxJS / Angular Observables 使用 1 个或多个管道?

RxJS / Angular Observables use 1 or multiple pipes?

有以下(只是一个简单的例子):

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 )

对我来说,第一种情况下的代码更美观、更易读。但不知道这是否会影响行为。

您应该为此目的使用单个管道。拥有多个管道没有任何意义或好处,因为管道的用途是将 RxJS 功能运算符组合到一个链中。

为了使其更具可读性,您可以这样做,而不是将所有运算符放在一行代码中。

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

官方 Angular 指南对管道和其他运算符的用法有很好的总结。您也可以通过 here. You should read up about pipeable operators over here 阅读更多相关信息。