js 怎么设置缓存有效时间?

阅读 1k
5 个回答

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 秒后失效
新手上路,请多包涵

你可以做一个定时, setTimeout(function () { // clear数据 }, 60000) 一分钟后清除掉

localStorage 没有提供有效时间设置API的。一般都是在设置本地缓存的同时也设置一个过期时间,或者存储时间。在读取的时候加以判断。

当然这种操作肯定是有现成的轮子可以用的,和1楼的回答一样,在Github/NPM上面检索一下就好了。

可以将时间戳作为数据的一部分写入localStorage,get 的时候进行校验时间有效性,最简单的实现,localStorage本身并不支持过期

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏