小程序---微信本地存储的方法
注意:微信小程序需要存储的内容,只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。
同步方法会堵塞当前任务,直到同步方法处理返回。
异步方法不会塞当前任务。
1、同步
(1)wx.setStorageSync(); //存储值
try { wx.setStorageSync('key', 'value') } catch (e) { }
(2)wx.getStorageSync(); // 获取值
try { var value = wx.getStorageSync('key') if (value) { // Do something with return value } } catch (e) { // Do something when catch error }
(3)wx.removeStorageSync(); // 移除指定的值
try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error }
(4)wx.clearStorageSync(); // 清除所有的key
try { wx.clearStorageSync() } catch(e) { // Do something when catch error }
(5)wx.getStorageInfoSync(); // 获取当前 storage 中所有的 key
try { const res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } catch (e) { // Do something when catch error }
2、异步
(1)wx.setStorage(); //存储值
将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
wx.setStorage({ key:"key", data:"value"})
(2)wx.removeStorage(); // 移除指定的值
wx.setStorage({ key:"key", data:"value"})
(3)wx.getStorage(); // 获取值
wx.getStorage({ key: 'key', success (res) { console.log(res.data) }})
(4)wx.getStorageInfo(); // 获取当前 storage 中所有的 key
wx.getStorageInfo({
success (res) {
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
}})
(5)wx.clearStorage(); // 清除所有的key
wx.clearStorage()