服务器出现400 http错误时,订阅未触发错误

时间:2020-03-19 17:22:19

标签: angular rxjs xmlhttprequest rxjs-observables

我完全不知道为什么错误不会触发

这是我调用服务器的代码

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,标头是

this.headers = new HttpHeaders().set('Content-Type', 'application/json');

我有一个响应拦截器,可以捕获每个错误响应,拦截器的重要代码如下

return throwError(err);

因为如果http错误为401,我只有Inteceptor可以做某事,但是我发送的是400错误 我在拦截器上有一个err的控制台日志,它可以很好地捕获错误,任何线索为什么它不能到达订阅状态?

我尝试删除整个拦截器,但它也无法正常运行,因此我认为这不是拦截器问题

1 个答案:

答案 0 :(得分:1)

}),error => this.alertService.showError({message: error.error.message})行中,不需要第一个),您不觉得吗?尝试将此行更改为},error => this.alertService.showError({message: error.error.message}));。请注意,在此行末尾有额外的)

非常感谢您接受此回答。