Angular 2 Observable使用1个或多个管道?

时间:2019-05-07 08:53:07

标签: angular rxjs observable rxjs-pipeable-operators

具有以下内容(只是一个简单的示例):

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 个答案:

答案 0 :(得分:1)

您应该为此目的使用单个管道。拥有多个管道将无济于事或无益,因为管道的使用是将RxJS功能运算符组合到一个链中。

为了使其更具可读性,您可以执行类似的操作,而不是将所有运算符放在一行代码中。

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

官方Angular指南对管道和其他运算符的用法进行了很好的总结。您可以通过here阅读更多有关它的内容。您还应该在here上阅读有关可管道运算符的信息。