订阅方法的错误回调未在angular4中触发

时间:2018-09-18 01:44:42

标签: angular

我处理了一个错误的客户端登录请求,该请求运行良好。但是,当我尝试对注册执行相同操作时,错误回调未触发。这是代码段:

Submit(){
this.userService.create(this.user).subscribe(x=>{
  this.router.navigate(['/login']);
},
(error) => {
  console.log("heloo from error");
  this.message=error._body;
  this.invalidRegistration=true;
});

} 出现错误响应时,控制台中没有消息。 这是控制台: Browser console

1 个答案:

答案 0 :(得分:0)

尝试一下, (err) 必须在 x

之外
this.userService.create(this.user).subscribe((x) => {
   this.router.navigate(['/login']);
},
(err) => {console.log(err)});

要获取错误消息,请添加一个将返回错误对象的捕获:

create(user){
  return this.http.post('http:..../', user)
    .catch(this.handleError);
}

private handleError(error: any) { 
  let errMsg = (error.message) ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error';
  return Observable.throw(error);
}