首页 > 解决方案 > 为什么我必须在代码前使用分号?

问题描述

我有这个代码:

this.userService.register(value).pipe(
    finalize(() => this.isRequesting = false)
).subscribe(
    () => this.router.navigate(['/login'], { queryParams: { brandNew: true, email: value.email } }),
    (error: any) => this.errors = error
);

直到我在前面加上一个分号,它才起作用this.router

() => ; this.router.navigate(['/login'], { queryParams: { brandNew: true, email: value.email } }),

这真的很奇怪,为什么会发生这种情况?这与它无关,this.router.navigate因为如果我用这样的警报替换它,alert('alert')它就不会再次起作用,直到我在它前面加上一个分号。我觉得这很奇怪,你能帮我解决这个问题吗?

它抛出的错误也只是一个简单的[object Object]问题,这让我更加困惑,我也看过这个问题,但是将浏览器更改为 chrome 没有效果:Resolver Emitting Error ` ERROR Error: "[object Object]" `

这是用户服务的注册方法:

register(userRegistration: UserRegistration): Observable<{}> {

  let headers = new HttpHeaders({ 'Content-Type': 'application/json' });

  return this.http.post(this.baseUrl + "/account", userRegistration, { headers: headers });
}

标签: angulartypescriptangular6

解决方案


推荐阅读