【发布时间】:2014-09-11 11:03:04
【问题描述】:
当内部可观察错误(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');
});
【问题讨论】:
-
您使用
when和then的目的是什么?它看起来不像在给你买任何东西...... -
这只是作为伪造 ajax 请求的示例。此处提供了一个 mockjax 示例。 plnkr.co/edit/UtReTejs524rX2DKbIoj?p=preview
标签: javascript ajax error-handling rxjs reactive-extensions-js