本篇文章帶大家了解一下微信小程序中的同步異步存儲,介紹一下同步操作本地存儲和異步操作本地存儲的方法,希望對大家有所幫助!
一.同步操作本地存儲
除非必要時候,盡量使用同步方法,特別是新手,建議使用同步方法,除非同步方法解決不了問題考慮使用異步方法?!鞠嚓P(guān)學(xué)習(xí)推薦:小程序開發(fā)教程】
wx.setStorageSync同步存:
wx.setStorageSync('key', 'value')
效果可以在微信小程序調(diào)試器中看如下
wx.getStorageSync同步獲取:
wx.getStorageSync('key') console.log(wx.getStorageSync('key'))//value
wx.getStorageInfoSync()當(dāng)前 storage 中的信息
const res = wx.getStorageInfoSync() console.log(res.keys)//["logs", "key"] //res.keys當(dāng)前 storage 中所有的 key console.log(res.currentSize)//1 //res.currentSize當(dāng)前占用的空間大小, 單位 KB console.log(res.limitSize)//10240 //res.limitSize限制的空間大小,單位 KB
wx.removeStorageSync同步移除某一個:
wx.removeStorageSync('key')
移除之后叫做key的storage就會消失不見
wx.clearStorageSync同步清除所有:
wx.clearStorageSync()
如下使用clearStorageSync連同之前的logs都會清除掉
二.異步操作本地存儲
1.wx.setStorage異步存儲值;
將數(shù)據(jù)存儲在本地緩存中指定的 key 中。會覆蓋掉原來該 key 對應(yīng)的內(nèi)容。除非用戶主動刪除或因存儲空間原因被系統(tǒng)清理,否則數(shù)據(jù)都一直可用。單個 key 允許存儲的最大數(shù)據(jù)長度為 1MB,所有數(shù)據(jù)存儲上限為 10MB。
wx.setStorage({ key:"key2", data:"value2" })
當(dāng)我們存儲了值之后就可以在微信小程序的調(diào)試欄器中看到效果了,同步跟異步除了存取執(zhí)行的操作不一樣之外,結(jié)果是一樣的,都是存,拿值,結(jié)果是一樣的,只是同步是順序執(zhí)行,而異步則是不會讓界面停滯,但是這種幾乎可以忽略不記,所以建議大家沒有必要的話就使用同步了。
2.wx.removeStorage()移除指定的值
從本地緩存中移除指定 key。
wx.removeStorage({ key: 'key', success (res) { console.log(res) } })
3.wx.getStorage(); 獲取值
從本地緩存中異步獲取指定 key 的內(nèi)容。
wx.getStorage({ key: 'key', success (res) { console.log(res.data) } })
4.wx.getStorageInfo獲取當(dāng)前 storage 中的信息
wx.getStorageInfo({ success (res) { console.log(res.keys)//["logs", "key"] //當(dāng)前 storage 中所有的 key console.log(res.currentSize)//1 //當(dāng)前占用的空間大小, 單位 KB console.log(res.limitSize)//10240 //限制的空間大小,單位 KB }})
5.wx.clearStorage(); 清除所有的key
wx.clearStorage()