在使用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,或者直接:

