2016-03-02 30 views
1

我正在使用observables和rxJS库。我如何在angular2中使用observables实现resumeOnError

创建我观察到如下:

this.validate$ = new Observable(observer => 
this.validateObserver = observer).share(); 

我然后将物体到这个如下:

this.validateObserver.next(responseJson); 

如果有一个错误在我所取,我传递错误如下:

this.validateObserver.error(this.setErrorMessage(filter)); 

我订阅了这个如下,从一个不同的类:

this.uploader.validate$.subscribe(
     result => { 
     console.log('result triggered'); 
     }, 
     error => { 
     console.log('error triggered'); 
     } 

但是,我希望我的订阅服务器在收到错误消息后继续收听,而不是像当前那样终止监听。

有人可以帮助我如何能够在处理错误后恢复?

+0

我认为这个问题的答案http://stackoverflow.com/questions/35326689/how-to-catch-exception-correctly- from-http-request应该有所帮助 –

回答

0

在rxJava文档​​中更明显,但onError意味着终止可观察。在通知错误后,您不应该拨打onNextonCompleted

这里是什么文件说约onError

通知观察员可观察到的经历了一个错误 条件。

如果Observable调用此方法,那么将不会调用onNext(T)或onCompleted()方法 。


之一来完成你想要什么样的方式是创建另一个观察到的错误,并呼吁onNext对于观察到的,当你遇到你的错误条件。