当内部可观察错误(Ajax请求)时,RxJs停止侦听单击事件.我试图弄清楚如何将事件监听器挂钩到按钮单击事件并优雅地处理内部ajax错误.
这是我的示例代码和plunkr的链接
var input = $("#testBtn");
var test = Rx.Observable.fromEvent(input,'click');
var testAjax = function() {
return Rx.Observable.range(0,3).then(function(x){
if(x==2)throw "RAWR"; //Simulating a promise error.
return x;
});
}
test.map(function(){
return Rx.Observable.when(testAjax());
})
.switchLatest()
.subscribe(
function (x) {
console.log('Next: ', x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
Run Code Online (Sandbox Code Playgroud)