RxJS主题关闭事件

时间:2019-03-17 10:31:46

标签: rxjs

我知道Promise只能使用一次,而Rxjs Subject可以传递多个事件。

如果您在应用程序中使用rxjs,是否将Promise可以使用的主题用作主题?

为我服务:

const addedItem: Subject = new Subject();
addedItem.next(res);
addedItem.complete();

我的消费者只是订阅并在收到消息时导航。这是好习惯吗?

1 个答案:

答案 0 :(得分:3)

这取决于情况,但在90%的情况下-不,您不应该将Subject用作“那个”。

它们的主要用例是进行多播(将相同的通知转发给多个订户)。但是通常,当人们开始使用ReactiveX时,他们倾向于使用它们来强制性地推销价值(而不是仅仅订阅它们)

在您的示例中,您可以:

  • 使用of(res)-这将创建只有1个值的Observable
  • 您的消费者可以直接订阅产生商品的商品

有关更多详细信息,请阅读RxJS核心团队成员的博客文章: