什么时候应该使用`publishReplay`和`shareReplay`?

罗伊·纳米尔(Royi Namir):

我已经知道了

  • publish共享一个订阅并返回一个ConnectableObservable(因此我们必须Connect()

  • Share()publish().refcount()

Replay后缀是很明显的,它返回它的最后一次发射/秒。

让我们以一个带有当前和将来订阅的Angular http请求为例:

<p>{{ (person | async)?.id   }}</p> //present markup

<p *ngIf=”show”>{{ (person | async)?.userId }}</p> //future markup

如果我不想多个http请求,可以使用:

publishReplay().Connect()

但是我也可以使用:shareReplay(),但是我确定这里有一个比另一个更正确使用。

题 :

什么时候应该使用publishReplayvs shareReplay在Http现在和将来的请求方面有什么区别?

注意:为什么没有有关的文档shareReplay

乔·金:

publishReplay允许您控制订阅开始的时间。shareReplay将在首次订阅时自动启动。

通常,如果将observable用于模板(html文件),请使用shareReplay优点是您不必担心取消订阅等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章