安卓和小程序体验
小程序体验
安卓版本体验 安卓体验download
数据存储
使用场景
许多时候我们需要将用户的数据保存到本地,以便以后的调用。比如说openid,如果每次打开小程序都需要发送code到后台解析成出openid,对资源消耗还是比较大的。这个时候数据缓存就派上了用场。
两种数据缓存
1.wx.setStorageSync(string key, any data)
2.wx.setStorage(Object object)
两种都可以实现缓存数据,区别就在于同步和异步
以Sync(同步,同时)结尾的都是都是同步缓存,二者的区别是,异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。
通俗点说,异步就是不管保没保存成功,程序都会继续往下执行.同步是等保存成功了,才会执行下面的代码.
使用异步,性能会更好;而使用同步,数据会更安全
一般都使用同步,异步是为了用户体验的情况而选择,同步相对简单。
wx.setStorage(Object object)
将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | |
data | any | 是 | 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify 序列化的对象。 |
|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
wx.setStorage({
key:"key",
data:"value"
})
try {
wx.setStorageSync('key', 'value')
} catch (e) { }
wx.setStorageSync(string key, any data)
wx.setStorage 的同步版本
参数
string key
本地缓存中指定的 key
any data
需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify
序列化的对象。
示例代码
wx.setStorage({
key:"key",
data:"value"
})
try {
wx.setStorageSync('key', 'value')
} catch (e) { }