本地存储设置过期时间


 

在添加本地存储的时候,加入时间字段,取出来时,用  当前时间毫秒戳 - 存入时间时间毫秒戳 >= 自定义过期时间(例如3秒 1000 * 3)

使用场景:例如优化请求  

  上代码看看 



  // 获取当前毫秒戳
    console.log(new Date().getTime()); //ml:18 1638152442833
 
    // 获取当前毫秒戳 1979 1 1日计算机出生日
    console.log(Date.now()); //ml:18 1638152442833
 
    // 需求将毫秒变时间   [1638152442833 ---> 2021年11月29日10:07:19]  
    console.log(new Date(1638153271716).toLocaleString()); // 自定义传毫秒数  2021/11/29 上午10:34:31
    console.log(new Date(new Date().getTime()).toLocaleString()); //当前毫秒转时间   2021/11/29 上午10:34:31
 
    // 需求将时间转为毫秒 [2021年11月29日10:07:19 ---> 1638152442833]  
    console.log((new Date("2021/11/29 10:21:11")).getTime()); //自定义时间得到豪秒数  ml:25 1638152471000
    console.log(new Date().getTime()); //当前时间得到豪秒数  ml:25 1638152471000
 
    // 2021/11/29 上午10:04:17 日期加时间
    console.log(new Date().toLocaleString());
 
    // 2021/11/29 日期
    console.log(new Date().toLocaleDateString());
 
    // 上午10:04:17  时间
    console.log(new Date().toLocaleTimeString());

 

 第一

 localStorage.setItem('cates', { time: Date.now(), data: this.data.cates })
//用{}形式 将当前时间,和要存数据,存入本地

第二

 // 封装优化请求,请求的时候存本地且不过期,就使用本地数据,否则重新请求,
//在页面加载调用一下这个函数,不去直接调用getType请求接口
  _setgetType() {
    //  判断本地有没有数据
    const cates = localStorage.getItem('cates');
    if (!cates) { // 如果本地没有cates,就网络请求数据
      this.getType()
    } else {//本地有数据判断是否过期了//cates.time是本地的时间字段
      if (Date.now() - cates.time > 1000 * 300 == true) {
        this.getType()//当前时间 - 存的时间 > 5分钟 = 间隔时间 5分钟外就重新调用

      } else {//有数据且没过期时
        this.data.cates = cates.data;//将本地的数据赋值给定义的总数据data里的cates
       //....想写的逻辑
      
        console.log('本地有数据,且没有过期大于5分钟,不发送网络请求,使用渲染本地的数据');
      }

    }
  },

完!

better late than never. 只要开始,虽晚不迟。

go for it! just do it! 加油!向前冲!做了再说!

下篇见

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙雨溪 彩色之外

你的打赏是我创作的氮气加速动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值