没有订阅时的默认操作?

我们有一个通用的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

回到顶部