• js本地缓存设置有效时间
  • 以下举例为小程序(浏览器、vue、uniapp等都适用)
  • 如需在其他环境下使用,对代码稍加修改就好(储存的写法)。
  • 用户进入这个页面后第一次去获取数据,然后存下处理好的数据和当前时间。当用户第二次进入的时候。先去判断是否存下数据,没有存去请求,反之在判断当前时间和你存下时间+设置的缓存时间。如果当前时间大于缓存时间,那么移除缓存数据,并且重新获取数据存下,以及存下当前时间。反之,获取本地存下的数据去使用。
changetime(){
    let nowtime = Date.parse(new Date()); //当前时间
    let c_time = wx.getStorageSync('time'); //获取第一次存下的时间
    let Cachetime = c_time + 450000000; //设置缓存时间
    let data_Cachetime = wx.getStorageSync('citydatalist');
    if (data_Cachetime) { //判断是否存下了数据
      if (nowtime > Cachetime) {
        wx.removeStorageSync('citydatalist')
        this.getcitydata();
      }else{
        let data = JSON.parse(wx.getStorageSync('citydatalist'));
        this.setData({
          citylist:data,
        })
      }
    } else {
      this.getcitydata();//请求数据的方法
    }
  },
//举例请求方法
getcitydata(){
	this.City.getcity(res=>{
		if(res.code == 200){
			//处理好数据后
			wx.setStorageSync('citydatalist', JSON.stringify(city)); //存下数据
        	wx.setStorageSync('time', Date.parse(new Date()))//存下时间
		}
	})
}
Logo

前往低代码交流专区

更多推荐