为什么我必须在代码之前使用分号?

时间:2019-04-11 07:44:19

标签: angular typescript angular6

我有此代码:

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 });
}

0 个答案:

没有答案