来看看一个用例,我可能在取消订阅时抛出了一些错误,而catch操作符无法捕获它。除了在退订处理程序中添加一个try-catch之外,还有其他好方法吗?如果它的尝试被捕获,它是否仍然完成并杀死了流?
const streawm = Rx.Observable.create(function(observer) {
return () => { throw "error"; };
});
const subscribe = streawm.catch(e=>Rx.Observable.of(e))
.subscribe(val => console.log(val),
e=>{} ,
e=>{console.log("finally");});
setTimeout(() => {
subscribe.unsubscribe();
}, 5000);