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