rxjs-点击与订阅

rxjs-点击与订阅,rxjs,Rxjs,在许多文章中,我发现tap操作符是执行副作用的好方法。我的问题是关于使用subscribe和tap执行副作用之间的区别。以下是实际情况与此相同的示例: this.store$ .pipe(tap(x => { this.store = x; })); this.store$ .subscribe(x => { this.stor

在许多文章中,我发现
tap
操作符是执行副作用的好方法。我的问题是关于使用subscribe和tap执行副作用之间的区别。以下是实际情况与此相同的示例:

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

        this.store$
           .subscribe(x => {
              this.store = x;
           });
性能是否有任何差异,或者是否有任何理由使用这些方法之一

在角度上下文中。 您可能有一个组件,比如MyComponent。这个组件MyService也有一个服务。此服务负责MyComponent中的一些复杂操作。现在,您将在MyComponent中按以下方式进行订阅:

$myObs.subscribe((val) => //do something );
但在您的服务中也可能需要相同的数据,所以您在服务中将其定义为

$myObs.pipe(tap((val) => // do something with data in service));
订阅将在组件中完成,但使用tap,您也可以在服务中分配数据成员变量。

可能的重复项