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