为什么即使订阅完成也可以在主题上进行订阅?

时间:2020-02-19 06:51:59

标签: javascript angular rxjs subject-observer

根据大多数博客,我们在致电完成后就无需明确取消订阅主题。在调用完成后,我尝试订阅该主题。完整的回叫仍在执行。

let s = new Subject();
s.complete();

s.subscribe(
  () => {
    console.log("next");
  },
  () => {},
  () => {
    console.log("complete");
  }
);

输出:完成

为什么完成主题后才允许订阅主题?

1 个答案:

答案 0 :(得分:1)

在这种情况下,首先发出“完成”通知,然后立即取消订阅。因此,它仍然认为您不必手动取消订阅。

如果您首先想知道订阅的用途,您可以考虑一个示例,其中将isEmpty运算符应用于主题,然后根据该运算符的下一个值进行操作。