我有一个可观察的对象,我正在取消订阅。取消订阅后,我想检查它是否实际上已取消订阅。 在下面的代码中,我创建了一个Observable,并且正在完成我的观察者,以便它不会收到任何发射值。现在,我正在检查订阅状态,这是正确的,但我尚未取消订阅可观察的状态。
let _data = Observable.create((observer:Observer<any>)=>
{
observer.next('1');observer.next('3');observer.complete());
let subscription:Subscription = _data.subscribe(res=> res});
console.log(subscription.closed);
如上所述,如果可观察到单播,subscription.closed返回true。但是,如果我正在使用类似于Subject的可观察的多播,它将返回false,因此在这种情况下,它不是未订阅的,但不会发出值。
let sub = new Subject<any>();
sub.complete();
console.log(sub.closed);
// return false in this case.