【发布时间】:2020-06-30 21:08:01
【问题描述】:
我完全不知道为什么错误没有触发
这是我调用服务器的代码
this.userService.createUser(values).subscribe((response)=> {
this.alertService.showConfirm("Usuario creado");
this.dialogRef.close(response);
}),error => this.alertService.showError({message: error.error.message})
这个错误是没有触发的错误
创建用户有以下代码
createUser(usuario): Observable<boolean>{
const accessToken = this.webStorageService.getAccessToken();
return this.http.post<boolean>(`${this.usersUrl}?access_token=${accessToken}`, usuario,{ headers: this.headers });
this.http 是来自 AngularCommon 的 HttpClient,而 headers 是
this.headers = new HttpHeaders().set('Content-Type', 'application/json');
我有一个响应拦截器,可以捕获每个错误响应,拦截器的重要代码如下
return throwError(err);
因为我只有在 http 错误为 401 时才有拦截器做某事,但我发送的是 400 错误 我在拦截器上有一个错误的控制台日志,它很好地捕获了错误,任何线索为什么它没有到达订阅?
我尝试删除整个拦截器,但它也不起作用,所以我认为不是拦截器问题
【问题讨论】:
-
在
}),error => this.alertService.showError({message: error.error.message})这一行中,不需要第一个),你不觉得吗?尝试将此行更改为},error => this.alertService.showError({message: error.error.message})); -
代码显示语法错误,因为 ) 在内联函数后关闭订阅 .subscribe((response)=> { .... }) 我关闭订阅
-
错误回调后关闭
subscribe。删除我告诉你的)并将其添加到末尾error.error.message})); -
谢谢你!!!它有效,作为答案发布,我很乐意接受它
标签: angular rxjs xmlhttprequest rxjs-observables