qum*_*uma 1 rxjs angular2-routing rxjs5 angular
更新联系后我将显示一条消息,在1500ms后我将路由到另一页.我是这样做的:
onSubmit() {
if (this.form.valid) {
this.contactService.updateContact(this.contact).subscribe(response => {
this.contactUpdated = true;
Observable.interval(1500)
.subscribe(i => {
this.router.navigate(['/commit']);
})
});
}
}
Run Code Online (Sandbox Code Playgroud)
这只能工作一次,在我用鼠标导航到另一个菜单后,我将自动路由回提交路径.有谁知道我做错了什么?
所以问题是你想要在1500ms后重定向用户一次,而不是每隔1500ms,甚至当用户已经在不同的页面上时.
Observable.interval在每个间隔后发出一个值,这样您就可以take(1)在单次发射后用来完成链:
Observable.interval(1500)
.take(1)
.subscribe(i => {
this.router.navigate(['/commit']);
})
Run Code Online (Sandbox Code Playgroud)
或者甚至更容易Observable.timer(1500)使用它只发出一次(如果你只使用第一个参数):
Observable.timer(1500)
.subscribe(i => {
this.router.navigate(['/commit']);
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |