我正在研究 rxjs Observables,但我不明白为什么 Observable.create 中的 setInterval 仍在运行,即使我已经取消订阅该 observable 对象。Observable 是异步的吗?应该什么时候停?
我有这个代码供参考:
var cancellableObserver = Observable.create((observer:any)=>{
try {
observer.next("anyeong")
observer.next("ande")
console.log("logged once")
setInterval(()=>{
//this code block will keep running for every 2secs
observer.next("eotteokke") //but this line will stop after unsubscribe
console.log("will log every 2secs")
},2000)
} catch (err) {
observer.error(err);
}});
var cancellableSubscription = cancellableObserver.subscribe(
(x:any) =>addItem(x),
(err:any) =>addItem(err),
() => addItem("cancellable completed"));
setTimeout(() => {cancellableSubscription.unsubscribe();console.log("mary");}, 6001);
杨__羊羊
呼唤远方
相关分类