创建自定义RxJs主题

时间:2018-12-14 14:22:33

标签: rxjs

问题

是否存在创建自定义RxJs主题的官方推荐方法?

用例

我需要一个QueueSubject,即一个Subject将所有传递给它的next方法的值排队,直到有一个订阅者为止。这与内置的ReplaySubject不同,因为ReplaySubject不会在订阅时清除其缓冲区。

到目前为止我学到的东西

this GitHub project by James Pike中提供了我所需要的确切实现。尽管有这种完美可用的解决方案,但我提出问题的原因是_subscribe方法是一种内部方法。它甚至被标记为@deprecated,因此,如果使用短绒,则需要向类中添加短绒规则例外,以禁止弃用警告。

documentation中我没有找到有关如何创建自定义主题的任何内容。

1 个答案:

答案 0 :(得分:1)

您可以将任何Subject实现用作您自己的自定义实现的参考,例如this one on Github

关于_subscribe:您可以使用自定义类重写它,但切勿直接从外部消费者类中调用它(这就是为什么用@deprecated对其进行注释的原因)。该函数由Template Method Pattern之后的Subject类内部调用。

总结:您的链接实现对我来说是有效的。