为什么Subscribe完成后还能调用Subscribe?
Why can subscribe be called on subject even after it is completed?
根据大多数博客,我们不需要在调用完成后明确取消订阅主题。我在调用完成后尝试订阅该主题。完整的回调还是执行了。
let s = new Subject();
s.complete();
s.subscribe(
() => {
console.log("next");
},
() => {},
() => {
console.log("complete");
}
);
输出:完成
为什么完成后允许订阅主题?
在这种情况下,首先会发送 'complete' 通知,然后立即取消订阅。所以它仍然认为您不必手动取消订阅。
如果你首先想知道订阅有什么用,你可以想一个例子,我们将 isEmpty
运算符应用于主题,并根据此运算符接下来的值做一些事情。
根据大多数博客,我们不需要在调用完成后明确取消订阅主题。我在调用完成后尝试订阅该主题。完整的回调还是执行了。
let s = new Subject();
s.complete();
s.subscribe(
() => {
console.log("next");
},
() => {},
() => {
console.log("complete");
}
);
输出:完成
为什么完成后允许订阅主题?
在这种情况下,首先会发送 'complete' 通知,然后立即取消订阅。所以它仍然认为您不必手动取消订阅。
如果你首先想知道订阅有什么用,你可以想一个例子,我们将 isEmpty
运算符应用于主题,并根据此运算符接下来的值做一些事情。