-1

根据大多数博客,一旦我们调用完成,我们就不需要明确取消订阅主题。我在调用完成后尝试订阅该主题。完整的回调仍然被执行。

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

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

输出:完成

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

4

1 回答 1

1

在这种情况下发生的情况是,首先发送一个“完成”通知,然后立即取消订阅。所以它仍然认为您不必手动取消订阅。

如果您首先想知道订阅的用途是什么,您可以考虑一个示例,我们将isEmpty运算符应用于主题,并根据该运算符的下一个值做一些事情。

于 2020-02-20T00:00:24.590 回答