rxjs - 主题订阅者错过了一个值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rxjs - 主题订阅者错过了一个值相关的知识,希望对你有一定的参考价值。

我有一个Subject,它在有任何订阅者之前是next'ed值 - 如何让订阅者不会错过在订阅之前发送的值?

一些代码:

subject = new Subject<string>;
subject.next('value');

// at a later time
subject.subsribe(val => {...});
答案

如果你想要一个主题,它将向订阅者发出next之后订阅者的价值,你可以使用ReplaySubject

创建ReplaySubject时,您可以指定要重播的next通知的数量。要只重播一个,你可以使用:

subject = new ReplaySubject<string>(1);

以上是关于rxjs - 主题订阅者错过了一个值的主要内容,如果未能解决你的问题,请参考以下文章

我们可以直接在Angular 4组件中订阅RxJs主题吗?

RxJS:取消订阅嵌套订阅

如何在 RxJS 订阅方法中等待

RxJS主题(Subject)

延迟Rxjs BehaviorSubject机制

在页面热模块替换期间创建新的 RxJS 订阅