这是我到目前为止所拥有的:
@Component({
selector: 'error-handler',
templateUrl: 'error-handler.html'
})
export class ErrorHandlerComponent extends ErrorHandler {
text: string;
constructor() {
super();
}
handleError(error: HttpErrorResponse) {
console.log("ErrorHandlerComponent, error.status: ", error.status);
this.text = error.message;
}
}
但是我的流程没有进入句柄错误,我收到以下错误:
polyfills.js:3 Uncaught Response {_body: ProgressEvent, status: 0, ok: false, statusText: "", headers: Headers, …}
你的错误处理程序需要是一个@Injectable
,而不是一个@Component
。它没有与之关联的视图 - 它是一个服务。它应该看起来像这样:
@Injectable()
export class MyErrorHandler extends ErrorHandler {
constructor() {
super();
}
handleError(error) {
// do whatever
super.handleError(error);
}
}