我是RxJs和Angular2的新手,我正在努力处理错误。我已经看到一些示例使用onNext,onError和onCompleted事件(例如here,但我看到的所有Angular2 http示例似乎只使用.catch和.map方法,但我不确定这是如何涉及的。到OnNext /的OnError/OnCompleted模型,我的代码工作从here):RxJ可以链接Angular2 Http响应是有条件的吗?
let stream = this.http.request(options.url, options)
.catch(error: any) => {
this.errorsSubject.next(error);
return Observable.throw(error);
})
.map(this.unwrapHttpValue)
.catch((error: any) => {
return Observable.throw(this.unwrapHttpError(error));
});
我最初想只是让这个第一.catch和.MAP要么/或? (即只有在http请求成功时,才会运行.map),但我不确定这是否可能,然后通过阅读here这个帖子,看起来他们可能会说根据this fix,如果HTTP代码是< 200或> 300 ...,则地图方法将自动跳过?但是,这不是我在实践中观察到的角2.0.0-rc.4 ...
非常感谢您的任何帮助!