首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重定向到单页应用程序中的另一个url后,计划任务是否仍然有效

重定向到单页应用程序中的另一个url后,计划任务是否仍然有效
EN

Stack Overflow用户
提问于 2021-03-25 07:06:45
回答 1查看 30关注 0票数 0

我正在使用Keycloak-js在我的react SPA中管理令牌。当Keycloak获得令牌时,它将调度一个回调函数: onTokenExpired by setTimeout。如果代码没有导航到我用来处理身份验证的当前组件的另一个路径,则触发onTokenExpired函数。然而,我想导航到其他组件,如果用户已通过身份验证。如果我导航到另一个路径,我看不到onTokenExpired函数会被触发。

下面是一个简单的代码来演示这个问题:

http://localhost:3000/welcome页上

代码语言:javascript
运行
复制
setTimeout(()=>{
  alert('callback function: refreshToken triggered')
},5000);
window.location='/helloWorld';

更改位置后,此警报窗口不显示。

我知道cb函数首先被推送到栈上,然后在webapi中创建一个计时器,当计时器结束时,cb被发送到回调队列,最终被事件循环拾取并添加到栈中。但我不清楚更改url路径是否会破坏这一点。

毕竟,有没有一种方法可以使计划的任务在我离开当前组件后仍然有效?

EN

Stack Overflow用户

发布于 2021-03-27 02:04:17

window.location加载整个应用程序,因此我猜在后端计时器会被销毁。要导航到不同的组件,请使用this.props.history.push('/helloWorld')。这就解决了问题。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66790680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档