[英]Behavior subject vs Observable error handling
我在Angular中使用rxJS并且具有一组作为只读Observable公开的行为主题
public _data = new BehaviorSubject<DataItem[]>([]);
public readonly data$ = this._data.asObservable();
现在我注意到,如果我直接订阅BehaviorSubject
并且出现错误,它会将错误抛给控制台。
但是如果我订阅Observable时出现相同的错误,我就不会收到任何消息,然后会自动取消订阅。
我知道这是预期的行为,但......
我想知道什么是避免错误代码重复的模式,例如
this.myDataService.data$.subscribe(d=> throwSomeError(), e=> handleError(e));
//or use this:
this.myDataService.data$.subscribe(d=> throwSomeError()).catch(e=> handleError(e));
handleError(e)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.