我遇到了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()?
感謝。這回答了這個問題。 –