gpt4 book ai didi

javascript - Angular 8-处理http返回时可观察到管道问题

转载 作者:行者123 更新时间:2023-12-03 08:44:12 25 4
gpt4 key购买 nike

我正在尝试使用用于授权登录凭据的http请求来做几件事。

首先,在尝试成功登录/注册后,我尝试利用NavigationByUrl('/')将用户重定向回首页。

其次,我想将我从服务器收到的错误传递到以前建立的空错误列表。

submitForm() {
this.isSubmitting = true;
this.errors = new Errors();

let credentials = this.authForm.value;
this.userService.attemptAuth(this.authType, credentials)
.subscribe(
data => this.router.navigateByUrl('/'),
err => {
this.errors = err;
this.isSubmitting = false;
}
);
}

我的想法是,我不应该将我的两个箭头函数都包含在subscribe()方法中。我应该同时使用这两个功能吗?我对如何在pipe()调用中使用catchError()有一个好主意,但是在如何在pipe()中执行url重定向方面还不清楚。

任何建议将不胜感激,谢谢!

最佳答案

尝试回答您的原始问题:如果要在管道上导航,可以执行以下操作:

submitForm() {
this.isSubmitting = true;
this.errors = new Errors();

let credentials = this.authForm.value;
this.userService.attemptAuth(this.authType, credentials)
.pipe(
tap(() => this.router.navigateByUrl('/'))
)
.subscribe(
(data) => {
this.isSubmitting = false;
},
(error) => {
this.errors = error;
this.isSubmitting = false;
}
);
}

我不鼓励这样做,因为这只会增加您可能已经在subscription()中完成的事情的开销。

关于javascript - Angular 8-处理http返回时可观察到管道问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58395201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com