javascript之localStorage设置数据实效性


封装函数实现localStorage存储数据实现数据具有实效性

1、设置localStorage数据时设置当前时间戳

        /**
         * 设置localStorage数据实效性
        */
        setLocalStorage: function(key, value) {
            const curTime = new Date().getTime();
            localStorage.setItem(key, JSON.stringify({ data: value, time: curTime }));
        },    

2、获取localStorage数据时判断是否过期

        /**
         * 判断localStorage数据是否过期,过期删除,未过期正常返回 localStorage数据
        */
        getLocalStorage: function(key, exp) {
            const localData = localStorage.getItem(key);
            const localDataObj = JSON.parse(localData);
            const nowTime = new Date().getTime();
            if (nowTime - localDataObj.time > exp) {
                console.log("数据已过期");
                // 删除localStorage已过期数据
                localStorage.removeItem(key);
                return 'localStorage数据已过期';
            } else {
                const data = JSON.parse(localDataObj.data);
                return data;
            }
        },

3、应用

        let val = '{"name":"setLocalValue"}';
        this.setLocalStorage('info', val);
        setTimeout(()=> {//未过期localStorage
            console.log(this.getLocalStorage("info",1000));//输出 {name: "setLocalValue"}
        },900)
        this.setLocalStorage('info', val);
        setTimeout(()=> {//过期localStorage
            console.log(this.getLocalStorage("info",1000));//localStorage数据已过期
        },2000)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM