没有订阅时的默认操作?
我们有一个通用的HTTP服务来包装一些HTTP行为。出现错误时,我们将该错误添加到BehaviorSubject。没有订阅时的默认操作?
我想知道是否有办法以某种方式......仅当没有订阅主题时才显示此错误。
return this.$http.get(url, jsonData).map((res) => res.json().response_data) .catch((err) => {
this._errors.next(err);
});
基本上试图实现HTTP错误的“最终”处理,如果没有其他处理它。
回答:
您可以将一个带有handled
标志的对象传递给订阅者,处理该错误后应将该标志设置为true
。它的标志没有设置后,用户已收到通知,显示默认错误信息。
export class ErrorHandling { public handled: boolean = false;
constructor(public error: any) {
}
}
return this.$http.get(url, jsonData).map((res) => res.json().response_data)
.catch((err) => {
let errorHandling = new ErrorHandling(err);
this._errors.next(errorHandling);
if (!errorHandling.handled) {
// The error was not handled, show default message
...
}
});
以上是 没有订阅时的默认操作? 的全部内容, 来源链接: utcz.com/qa/266613.html