我有一个测试,它可以正常工作,但是如果我尝试将active设置为其他值,它将破坏测试。因此,在进行任何其他测试之前,我希望退订a(当前活动的Observable):

let a:Observable<Todo> = store.observeActive();
a.subscribe(active=> {
  expect(active).toEqual(todo1);
});
a.unsubscribe();


看来RxJS 6不再具有unsubscribe() ...想法?

跟进

因此,我们取消了Subscription引用的订阅,但是为什么设计者没有将unsubscribe方法放在要订阅的对象实例上?

最佳答案

let a:Observable<Todo> = store.observeActive();
const subscription = a.subscribe(active=> {
  expect(active).toEqual(todo1);
});
subscription.unsubscribe();


订阅返回一个订阅,然后您取消订阅该订阅。

09-26 08:35