目前,微信給每一個小程序提供了10M的本地緩存空間(哎喲媽呀好大)javascript
操做 | 異步方法 | 同步方法 |
---|---|---|
插入 | wx.setStorage | wx.setStorageSync |
讀取 | wx.getStorage | wx.getStorageSync |
刪除 | wx.removeStorage | wx.removeStorageSync |
清空 | wx.clearStorage | wx.clearStorageSync |
獲取緩存信息 | wx.getStorageInfo | wx.getStorageInfoSync |
以Sync結尾都是同步方法。同步方法和異步方法的區別是:java
6.下面以插入緩存的兩個方法說明同步和異步的區別:算法
Page({
save: function(e){ console.log('開始保存') wx.setStorage({ key: 'key1', data: 'data1', success: function(res){ console.log('異步保存成功') } }) wx.setStorageSync('key2', 'data2') console.log('同步保存成功') } })
執行結果:
小程序
能夠看出,同步方法比異步方法先保存成功,說明異步方法沒有阻塞當前任務。api
Page({
save: function(e){ console.log('開始保存') wx.setStorageSync('key2', 'data2') console.log('同步保存成功') wx.setStorage({ key: 'key1', data: 'data1', success: function(res){ console.log('異步保存成功') } }) } })
執行結果:
緩存
能夠看出,異步方法只有等到同步方法執行成功纔會執行。服務器
緩存API提供了一個獲取本地緩存信息的接口wx.getStorageInfo,有了它,開發者能夠在已有api上再次封裝,好比加入緩存時間、不覆蓋插入、批量刪除、判斷當前緩存大小等。微信
最後一個是緩存隔離級別的問題:網絡
目前能夠推斷在真機調試條件下,每一個小程序掃碼用戶都會分配10M的本地緩存。
以上是我的在真機測試獲得的結果,結果不必定徹底準確,僅供參考。異步