介面優化之快取技術
阿新 • • 發佈:2020-08-03
在小程式實際開發的時候,當實際頁面渲染的資料過多時(api介面實際傳送的資料過多時),如果有頻繁地進行頁面的來回切換,會頻繁的傳送請求,資料量過大時,
受網路因素等影響,使用者的實際體驗可能不太友好,因此有必要利用快取技術對介面進行優化。
和web前端開發時利用localstorage來對接收的資料進行快取的原理很像,微信小程式也有著自己的進行資料快取的地方。不過二者之間還是有些許區別的:
web本地快取和小程式中的區別:
a.程式碼編寫方式的不同:
web中:
localStorage.setItem('key',value);
localStorage.getItem('key');
這個想必大家都很熟悉的
但是小程式中卻是不同:
wx.setStorageSync('key',value);
wx.getStorageSync('key');
在實際開發時,為了區分快取的資料是否有outDate,通常會在value中新增時間屬性,與當前時間的比較以確定資料的老舊。
例:
wx.setStorageSync("cates", {time:Date.now(),data:this.getCatesList}); wx.getStorageSync('cates');
b.存資料的時候有沒有做型別轉換
web本地儲存資料時會呼叫toString()將資料變成字串之後再存進去,在拿資料時呼叫JSON.parse將字串的資料轉變成物件。
而小程式本地儲存資料未對資料進行任何地轉換,存進去是什麼,拿出來的便是什麼。
在mall小程式的開發中,js利用本地快取進行優化的步驟如下:
1.先判斷本地快取中有沒有舊的資料 {time:date.now(),data:...} 2.沒有舊的資料則傳送新的api請求來獲取資料 3.有舊的資料且沒有過期(自己根據資料來設定一個新舊過渡期的一個時間段),則來使用本地快取中的資料。
*/本期到此為止