【发布时间】:2017-06-05 18:20:05
【问题描述】:
在调用 observable/subject 的错误函数后,有没有办法阻止订阅流(observable 或 subject)完成?
var subject = new Rx.Subject();
subject.subscribe(function(){alert("OnNext")}, function(){alert("OnError")});
var next = document.querySelector("#next").addEventListener('click', function(){
subject.next();
})
var error = document.querySelector("#error").addEventListener('click', function(){
subject.error();
});
据我了解,调用 subject.error() 会完成事件流。所以保持 observable 打开会破坏 Observable 对象的契约。那么如何处理 observable 的生命周期,以便在发生错误后重新创建订阅呢?这是一个 plnkr 演示该行为。
【问题讨论】: