【问题标题】:RxJS / Angular Observables use 1 or multiple pipes?RxJS / Angular Observables 使用 1 个或多个管道?
【发布时间】:2019-05-07 08:53:07
【问题描述】:

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

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 )

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

【问题讨论】:

  • 你为什么要这样做?第一个代码也有效,不是吗?

标签: angular rxjs observable rxjs-pipeable-operators


【解决方案1】:

您应该为此使用单个管道。拥有多个管道将没有任何用途或好处,因为管道的用途是将 RxJS 函数式运算符组合成一条链。

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

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

Angular 官方指南对管道和其他操作符的使用做了很好的总结。您可以通过here 阅读更多相关信息。您还应该阅读here 上的可管道运算符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 2018-11-24
    相关资源
    最近更新 更多