Angular 2 使用组件进行自定义 HTTP 错误处理



这是我到目前为止所拥有的:

@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);
  }
}

相关内容

  • 没有找到相关文章

最新更新