我遇到了RxJS这种无法解释的行为,我似乎无法理解为什么。我有以下一段代码。在同一观察者上订阅后,RxJs捕获无效
console.clear();
var rx = Rx.Observable;
var o = rx.throw(['error']);
var o2 = o.catch(x => rx.of(5));
// o.subscribe(x => console.log("1" + x));
o2.subscribe(x => console.log("2:" + x));
JsBin链接:https://jsbin.com/hikopob/edit?html,js,console
当我运行上面的代码,它打印2:5这正是我所期望的。不过,如果我取消注释注释行,我看到下面的控制台:
“错误”
“未捕获错误(10号线)”
我没有看到2:5再次在控制台上打印。我不明白的是,subscribe()处理程序如何影响下一个?我的catch()处理程序发生了什么?为什么完全忽略o2.subscribe()?
感谢。这回答了这个问题。 –