Javascript 对订阅()和取消订阅()的操作
在RxJS中,我想在一个观察者订阅了一个可观察对象之后,以及当他取消订阅时,采取一些特殊的行动。我当然可以覆盖Javascript 对订阅()和取消订阅()的操作,javascript,rxjs,observable,rxjs5,subject,Javascript,Rxjs,Observable,Rxjs5,Subject,在RxJS中,我想在一个观察者订阅了一个可观察对象之后,以及当他取消订阅时,采取一些特殊的行动。我当然可以覆盖subscribe()和unsubscribe()方法,但这似乎是个问题。 在创建observable的过程中,是否有一种方法可以提供在有人订阅/取消订阅时调用的回调? 比尔, 丹尼尔这就是为什么。您可以使用指定的附加/分离处理程序创建自己的可观察对象,甚至只需另外两行代码即可包装现有的可观察对象 const obs=Rx.Observable.create(Observable=>{
subscribe()
和unsubscribe()
方法,但这似乎是个问题。
在创建observable的过程中,是否有一种方法可以提供在有人订阅/取消订阅时调用的回调?
比尔,
丹尼尔这就是为什么。您可以使用指定的附加/分离处理程序创建自己的可观察对象,甚至只需另外两行代码即可包装现有的可观察对象
const obs=Rx.Observable.create(Observable=>{
console.log('attach');
//如果要包装另一个可观察对象,请调用:
//const subs=other.subscribe(观察者);
return()=>{
//subs.unsubscribe();
console.log('detach');
};
});
log('subscription1');
常量subscribtion1=obs.subscribe(()=>{});
log('subscription2');
常量subscribtion2=obs.subscribe(()=>{});
设置超时(()=>{
log('subscribtion1.dispose()');
subscribtion1.unsubscribe();
}, 500);
设置超时(()=>{
log('subscribtion2.dispose()');
订阅2.取消订阅();
}, 1000);代码>
我肯定还不喜欢反应式编程。非常感谢你的解释。