相关疑难解决方法(0)

Angular2在自定义ErrorHandler中注入服务

我有以下代码:

app.module.ts:

NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        RouterModule,
        BrowserModule,
        ReactiveFormsModule,
        FormsModule,
        HttpModule,
        AppRoutingModule // Routes
    ],
    providers: [ // services
        AppLog,
        {provide: ErrorHandler, useClass: MyErrorHandler}
    ],
    bootstrap: [AppComponent]
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)

MyErrorHandler.ts:

@Injectable()
export class MyErrorHandler implements ErrorHandler {
  constructor (private _appLog: AppLog) {}

  handleError(error:any):void {
    let errorMessage: string = "" + error
    this._appLog.logMessageAsJson(errorMessage, "error")
            .subscribe(
              ...
            )
  }
}
Run Code Online (Sandbox Code Playgroud)

appLog.ts

@Injectable()
export class AppLog {
    constructor (private _http: Http) {}

    logMessageAsJson(message: string, type: string) { …
Run Code Online (Sandbox Code Playgroud)

error-handling angular

14
推荐指数
2
解决办法
3473
查看次数

标签 统计

angular ×1

error-handling ×1