小程序的本地数据缓存
本地数据缓存,指的是把数据存储在当前设备硬盘
上,妥善使用本地数据缓存,可以带来良好的用户体验。
微信小程序提供了同步和异步两组读写本地数据缓存的接口。
读取本地数据
wx.getStorage
异步读取
本地缓存数据,使用success
、fail
等回调函数处理接口调用情况
// 异步读取本地缓存
wx.getStorage({
key: 'key1',
success: function(res) {
// 异步接口在success回调才能拿到返回值
var value1 = res.data
},
fail: function() {
console.log('读取key1发生错误')
}
})
wx.getStorageSync
同步读取
本地数据缓存,使用try...catch...
处理读取的错误信息。
try{
var value2 = wx.getStorageSync('key2')
}catch (e) {
console.log('读取key2发生错误')
}
读取本地数据缓存接口的参数
key
:字符串类型,必填项,本地缓存中指定的key
success
:异步接口调用成功的回调函数
fail
:异步接口调用失败的回调函数
complete
:异步接口调用结束的回调函数,无论成功失败都会执行
写入本地数据
wx.setStorage
异步写入本地数据缓存
,使用回调函数处理接口调用情况
wx.setStorage({
key:"key",
data:"value"
success: function() {
console.log('写入value成功')
},
fail: function() {
console.log('写入value发生错误')
}
})
wx.setStorageSync
同步接口写入本地数据缓存
,使用try...catch...
处理接口调用情况
try{
wx.setStorageSync('key', 'value')
console.log('写入value成功')
}catch (e) {
console.log('写入value发生错误')
}
写入本地数据缓存接口的参数
key
:字符串类型,必填项,本地缓存中指定的key
success
:异步接口调用成功的回调函数
fail
:异步接口调用失败的回调函数
complete
:异步接口调用结束的回调函数,无论成功失败都会执行
data
:需要存储到本地的数据,可以是string/object格式
数据存储到本地硬盘后,会自动根据不同小程序对数据进行区分,在本地硬盘上,每个小程序的缓存上限是10M
,超出缓存上限后再写入数据就会报错。
同时,根据不同的微信登录账号,也会对数据进行隔离,不同账号的数据分别存储,避免照常用户间的数据泄露。