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)
原文地址:https://www.cnblogs.com/emilyzz/p/14237121.html