微信小程序本地存储的方法
时间 :
2022-10-23
编辑 :admin
微信小程序需要存储的内容,只支持原生类型、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()
