gpt4 book ai didi

路由前的 Angular 超时

转载 作者:行者123 更新时间:2023-12-05 09:16:57 26 4
gpt4 key购买 nike

更新联系人后我会显示一条消息,1500 毫秒后我会转到另一个页面。我是这样做的:

onSubmit() {
if (this.form.valid) {
this.contactService.updateContact(this.contact).subscribe(response => {
this.contactUpdated = true;
Observable.interval(1500)
.subscribe(i => {
this.router.navigate(['/commit']);
})
});
}
}

这只有效一次,在我用鼠标导航到另一个菜单后,我将自动返回到提交路径。有谁知道我做错了什么?

最佳答案

所以问题是你想在 1500 毫秒后重定向用户一次,而不是每 1500 毫秒,即使用户已经在不同的页面上也是如此。

Observable.interval 在每个间隔后发出一个值,因此您可以使用 take(1) 在单次发射后完成链:

Observable.interval(1500)
.take(1)
.subscribe(i => {
this.router.navigate(['/commit']);
})

或者您可以使用只发出一次的 Observable.timer(1500) 更简单(如果您只使用第一个参数):

Observable.timer(1500)
.subscribe(i => {
this.router.navigate(['/commit']);
})

关于路由前的 Angular 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49131892/

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