Я пытаюсь сделать всплывающее диалоговое окно всякий раз, когда я получаю сообщение об ошибке от myerrorhandler, я вижу вызов console.error(this.explanation)
, но не this.dialogbox.openDialogTEST();
это мое сообщение об ошибке
ОШИБКА TypeError: Невозможно прочитать свойство 'openDialogTEST' с неопределенным значением
странная часть, если я позвоню с помощью кнопки, все в порядке.
Это мои занятия:
usertable.component.ts
connect(): Observable<Installation[]> {
return this.authservice.GetInstallation();
}
auth.service.ts
GetInstallation(): Observable<Installation[]> {
return this.GetServiceProviderId().pipe(
flatMap(info => {
return this.http.get<Installation[]>
(this.rooturl +
"installation/?serviceproviderid=" +
info.ServiceProviderId,
{ headers: this.reqHeader })
}),
catchError(this.myerrorhandle.handleError)
)
}
myerrorHandle.ts
handleError(errorResponse: HttpErrorResponse) {
switch (errorResponse.status) {
case 401: {
console.error(errorResponse.url, errorResponse.status, errorResponse.statusText)
this.explanation = "The request has not been applied because it lacks valid authentication credentials for the target resource."
console.error(this.explanation)
this.dialogbox.openDialogTEST();
break;
}
dialogbox.component.ts
openDialogTEST(): void {
const dialogRef = this.dialog.open(DialogOverviewExampleDialog, {
});
dialogRef.afterClosed().subscribe(result => {
console.log("after close")
});
}
полное сообщение об ошибке:
ОШИБКА TypeError: Невозможно прочитать свойство 'openDialogTEST' из неопределенного
в CatchSubscriber.push ../ src / app / myerrorHandle.ts.myerrorHandle.handleError
[как селектор] (myerrorHandle.ts: 29)
на CatchSubscriber.push ../ node_modules / rxjs / _esm5 / internal / operator / catchError.js.CatchSubscriber.error
(catchError.js: 33)
в MergeMapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber._error
(Subscriber.js: 80)
в MergeMapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber.error
(Subscriber.js: 60)
в MapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber._error
(Subscriber.js: 80)
в MapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber.error
(Subscriber.js: 60)
в FilterSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber._error
(Subscriber.js: 80)
в FilterSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber.error
(Subscriber.js: 60)
в MergeMapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / OuterSubscriber.js.OuterSubscriber.notifyError
(OuterSubscriber.js: 13)
в InnerSubscriber.push ../ node_modules / rxjs / _esm5 / internal / InnerSubscriber.js.InnerSubscriber._error (InnerSubscriber.js: 18)