my.getstorage(object object)
支小宝客户端 支持
安诊儿客户端 支持
小程序开发者工具: 支持。
主体: 企业支付宝小程序 、 个人支付宝小程序
从本地缓存中异步获取指定 key 的内容。
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
key | string | - | 是 | 要获取的本地缓存中指定的 key |
success | function | - | 否 | 调用成功的回调函数 |
fail | function | - | 否 | 调用失败的回调函数 |
complete | function | - | 否 | 调用结束的回调函数(调用成功、失败都会执行) |
success 回调函数
参数
object res
属性 | 类型 | 描述 |
---|---|---|
data | any | key 对应的内容 |
fail 回调的参数为 object,error
属性为错误码,errormessage
属性为错误消息。
错误码 | 错误消息 | 凯发app官方网站的解决方案 |
---|---|---|
2 | 接口参数无效 |
请填写有效的 key 值。 |
my.getstorage({
key: 'currentcity',
success: (res) => {
console.log(res);
if (res.success) {
console.log("执行成功");
}
},
fail: (err) => {
console.log(err)
}
});
-
tip当发生错误时,安卓会在返回结果中包含一个 success 属性并将其设置为 false,同时返回错误码和错误信息。而 ide 和 ios 则直接返回错误码和错误信息,不再返回 success 属性。建议利用 res.success 或 !res.error 判断功能是否执行成功。
-
tip
异步存取无法保证执行的顺序,可能出现获取不到刚存储信息的情况。建议使用同步方法 my.setstoragesync 和 my.getstoragesync 进行替代 ,或将依赖执行完成的代码写在 my.setstorage 回调函数里,如:
my.setstorage({ key: 'currentcity', data: { cityname: '杭州', adcode: '330100', spell: ' hangzhou', }, success: (res) => { my.getstorage({ key: 'currentcity'}); }, fail: (err) => { console.log(err) } });
q:web-view 组件里 h5 是否可以调用 my.getstorage?
在 web-view 组件里 h5 引入 https://appx/web-view.min.js 后,可以调用 my.setstorage/my.getstorage,但请注意,它们操作的是 web-view 内的数据,与小程序数据并不相通。web-view 里想要利用小程序的本地数据,必须通过 my.postmessage/my.onmessage 与小程序通信,由小程序代码调用实际调用 api。