14

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

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 )

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

4

1 回答 1

17

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

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

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

Angular 官方指南对管道和其他操作符的使用有很好的总结。你可以在这里阅读更多关于它的信息。您也应该在此处阅读有关可管道操作符的信息。

于 2019-05-07T08:58:12.433 回答