js 怎么设置缓存有效时间?
需求是在缓存中存放一条数据, 并且设置有效时间1分钟? 应该怎么实现?
localStorage.setItem("test", "123");
在文档中没有找到设置时间的方法https://developer.mozilla.org/zh-CN/docs/Web/API/Storage/setItem
回复
1个回答
test
2024-06-27
localStorage
是没有提供API的, 可以写一个公用的方法来进行存储的时候加上时间戳
export function setLocalStorageAndTime (key, value) {
window.localStorage.setItem(key, JSON.stringify({ data: value, time: new Date().getTime() }))
}
cookie可以, 可以用js-cookie插件:
let seconds = 10;
let expires = new Date(new Date() * 1 + seconds * 1000);
Cookies.set('username', 'tanggaowei', { expires: expires }); // 10 秒后失效
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容