一道前端编程题

发布于 2022-09-12 23:07:44 字数 50 浏览 33 评论 0

localStorage 本身不存在和有效期相关的 API,那么实现一个带有效期的缓存

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

罪歌 2022-09-19 23:07:44

devtool.Console

const localStorageWithTime = {
    get: k => {
        const v = localStorage.getItem(k)
        if (! v) return undefined
        const o = JSON.parse(v), l = o?.__life__
        if (! l) return console.error(`localStorageWithTime: "${k}" doesn't have property "__life__".`)
        if (l <= Date.now()) {
            localStorage.removeItem(k)
            return console.log(`localStorageWithTime: "${k}" expired. "__life__" is ${l}.`)
        }
        return o.__data__
    },
    set: (k, v, l) => {
        localStorage.setItem(k, JSON.stringify({ __life__: l, __data__: v }))
    }
}
别理我 2022-09-19 23:07:44

存储时加上过期日期 获取时如果过期则获取为空且删除

彼岸花似海 2022-09-19 23:07:44

可以参考 cookie 的机制,在存储的时候加上过期事件,可以是相对的也就是绝对的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文