【问题标题】:rxjs - Tap vs subscriberxjs - 点击与订阅
【发布时间】:2019-05-23 16:04:04
【问题描述】:

在许多文章中,我发现tap 运算符是执行副作用的好方法。我的问题是关于使用订阅和点击执行副作用之间的区别。以下是实际上相同的示例:

        this.store$
           .pipe(tap(x => {
               this.store = x;
           }));

        this.store$
           .subscribe(x => {
              this.store = x;
           });

性能是否有任何差异,或者是否有任何理由使用其中一种方法?

【问题讨论】:

标签: rxjs


【解决方案1】:

在 Angular 上下文中。 您可能有一个组件,例如 MyComponent。这个组件 MyService 也有一个服务。该服务负责 MyComponent 中的一些复杂操作。现在您将在 MyComponent 中订阅为

$myObs.subscribe((val) => //do something );

但您的服务中也可能需要相同的数据,因此您在服务中将其定义为

$myObs.pipe(tap((val) => // do something with data in service));

订阅将在组件中完成,但使用点击您也可以在您的服务中分配数据成员变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    相关资源
    最近更新 更多