Angular 7:尝试使用 setTimeout 延迟 router.navigate 无效
Angular 7: trying to delay router.navigate with setTimeout not working
我的登录处理程序在写入带有用户令牌的 cookie 之前重定向到页面时遇到问题。作为解决方法,我尝试在导航之前添加延迟,但它不起作用。
为什么导航发生在超时延迟之前? (这是Angular 7 Universal。)我也试过在延迟函数中设置令牌,但它没有什么不同。
signInSuccessHandler() {
...
const token = this.getToken();
this.setToken(access_token);
setTimeout(() => { this.delayNavigation(); }, 1000);
}
delayNavigation() {
this._zone.run(() => this.router.navigate(['/people']));
}
感谢您的回复。我找到了根本原因,所以我不再需要解决方法。
在令牌可用之前正在实例化服务。超时没有帮助,因为问题已经发生了。
我的登录处理程序在写入带有用户令牌的 cookie 之前重定向到页面时遇到问题。作为解决方法,我尝试在导航之前添加延迟,但它不起作用。
为什么导航发生在超时延迟之前? (这是Angular 7 Universal。)我也试过在延迟函数中设置令牌,但它没有什么不同。
signInSuccessHandler() {
...
const token = this.getToken();
this.setToken(access_token);
setTimeout(() => { this.delayNavigation(); }, 1000);
}
delayNavigation() {
this._zone.run(() => this.router.navigate(['/people']));
}
感谢您的回复。我找到了根本原因,所以我不再需要解决方法。
在令牌可用之前正在实例化服务。超时没有帮助,因为问题已经发生了。