rxjs-点击vs订阅

时间:2019-05-23 16:04:04

标签: rxjs

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

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

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

性能是否有所不同,或者有任何理由使用这些方法之一?

1 个答案:

答案 0 :(得分:0)

在Angular环境中。 您可能有一个组件,例如MyComponent。该组件MyService也有一项服务。该服务负责MyComponent中的某些复杂操作。现在,您将在MyComponent中以

进行订阅
$myObs.subscribe((val) => //do something );

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

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

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