前端定时器检查token是否过期如何实现
时间: 2024-05-13 11:18:17 浏览: 284
可以使用JavaScript中的`setInterval()`函数,每隔一定时间就检查一次token是否过期。具体实现步骤如下:
1. 在用户登录成功后,将token存储在localStorage或sessionStorage中,并记录token的过期时间。
2. 使用`setInterval()`函数,每隔一定时间调用一个函数检查token是否过期。
3. 在检查函数中,获取本地存储的token和过期时间,并与当前时间进行比较。
4. 如果当前时间已经超过了过期时间,就清除本地存储的token,并跳转到登录页面。
5. 如果token还未过期,则继续执行其他操作。
以下是一个简单的示例代码:
```javascript
// 检查token是否过期的函数
function checkToken() {
const token = localStorage.getItem('token');
const expireTime = localStorage.getItem('expireTime');
const now = new Date().getTime();
if (now > expireTime) {
// token已过期,清除本地存储的token并跳转到登录页面
localStorage.removeItem('token');
localStorage.removeItem('expireTime');
window.location.href = '/login';
} else {
// token还未过期,继续执行其他操作
// ...
}
}
// 每隔一定时间调用checkToken函数检查token是否过期
setInterval(checkToken, 5 * 60 * 1000); // 每5分钟检查一次
```
在上面的示例代码中,`setInterval(checkToken, 5 * 60 * 1000)`表示每隔5分钟调用一次`checkToken()`函数。你可以根据需要调整检查的时间间隔。另外,建议在页面卸载时清除定时器,以避免资源浪费。
阅读全文