localStorage的使用

在使用echarts制作地图时,从后台的提供的接口获取地图原始的数据(JSON格式);

从chrome控制台的Network可以看到,从jcyjDtJwdSj接口返回的数据有1.9M,时间需要6.13S,这是一个非常漫长的返回数据的过程,再加上将数据绘制成地图的时间,就显得十分不合理。

因此使用localStorage来储存这个数据。

localStorage支持5M大小的存储,并且一次请求就能存储在localStorage;以后的每次调用都是直接从localStorage读取数据,不必再此请求接口,节省时间。

以下是代码:  首先判断localStorage中是否存在HuBeiMap对象,

  1,如果不存在则请求接口,在得到数据之后,将数据放入localStorage(localStorage["HuBeiMap"] = JSON.stringify(res.data));

    然后调用绘制地图的方法  HBS();

   2,如果存在HuBeiMap对象,则直接从中读取数据(this.jsonData = localStorage.HuBeiMap

if (!localStorage.HuBeiMap) {
      this.axios
       .get("http://192.168.101.42:8080/hg6000/fdcdsj/jcyjDtJwdSj", {
          params: {}
        })
        .then(res => {
          this.jsonData = res.data;
          localStorage["HuBeiMap"] = JSON.stringify(res.data);
          this.HBS();
        })
        .catch(function(error) {
          console.log(error);
        });
    } else {
      this.jsonData = localStorage.HuBeiMap;
      this.HBS();
    }

========================================

可在浏览器的控制台中查看储存的数据:

=====================================

清除localStorage的方法: 1,代码删除: localStorage.clear()

  2,或者直接:

 

posted @ 2019-02-21 13:56  我一直是颗葡萄  阅读(1158)  评论(0编辑  收藏  举报