【发布时间】:2018-06-02 13:05:23
【问题描述】:
我有这个简单的全局错误处理程序,它源于角度 ErrorHandler。现在无论错误的位置在哪里,初始处理都会进行两次,或者至少看起来是这样。我的控制台第一次记录了两次相同的错误,之后如果错误仍然存在,那么为什么会这样?
import { ErrorHandler, Injectable, Injector } from "@angular/core";
import { Router } from '@angular/router';
@Injectable()
export class ArtCoreErrorHandler implements ErrorHandler {
constructor(private injector: Injector) { }
handleError(error) {
console.log(error)
const message = error.message ? error.message : error.toString();
if (message == 'JWT must have 3 parts') {
router.navigate(['/']).then(
() => alert('wrong'),
);
location.reload();
}
throw error;
}
}
在我的app module
providers: [
{provide: ErrorHandler, useClass: ArtCoreErrorHandler},
MDBSpinningPreloader,
.........]
【问题讨论】: