问答

一道前端编程题

作者:admin 2021-04-09 我要评论

localStorage 本身不存在和有效期相关的 API,那么实现一个带有效期的缓存 ### const localStorageWithTime = { get: k = { const v = localStorage.getItem(k) ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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

###

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 }))
    }
}
###

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

###

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

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器