创新互联百度小程序教程:swan.setStorage

  • swan.setStorage
    • 方法参数
      • object 参数说明
    • 示例
      • 图片示例
      • 代码示例
      • 代码示例 2:利用本地缓存提前渲染界面
    • 错误码
      • Android
      • iOS

    swan.setStorage

    解释:将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容。主动删除历史小程序,卸载百度 APP ,或在系统中清除百度 APP 的缓存即可清除数据。目前单个 key 允许存储的最大数据长度无限制,没有自动清理存储机制。storage 上限 10MB ,用户需主动清理,期间数据一直可用。

    成都创新互联服务项目包括巴楚网站建设、巴楚网站制作、巴楚网页制作以及巴楚网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,巴楚网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到巴楚省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

    Web 态说明:受浏览器限制,Web 态 storage 的容量一般为 5MB ,具体视浏览器 localStorage 的容量大小而定。

    方法参数

    Object object

    object 参数说明

    属性名 类型 必填 默认值 说明

    key

    String

    本地缓存中的指定的 key

    data

    Object/String/Number/Array/Boolean

    需要存储的内容

    success

    Function

    接口调用成功的回调函数

    fail

    Function

    接口调用失败的回调函数

    complete

    Function

    接口调用结束的回调函数(调用成功、失败都会执行)

    示例

    跳转编辑工具

    在开发者工具中打开

    在 WEB IDE 中打开

    扫码体验

    代码示例

    请使用百度APP扫码

    图片示例

    代码示例

    • SWAN
    • JS
     
     
     

    代码示例 2:利用本地缓存提前渲染界面

    业务场景:我们实现的小程序首页是展示一堆商品的列表。数据渲染的方式一般是在页面 onLoad 回调之后通过 swan.request 向服务器发起一个请求去拉取列表数据,在 success 回调中把数据通过 setData 渲染到界面上,如下代码所示。

    • JS
     
     
     
    1. Page({
    2. onLoad() {
    3. swan.request({
    4. // 仅为示例,并非真实的接口地址
    5. url: 'https://www.baidu.com/xxx',
    6. success: res => {
    7. if (res.statusCode === 200) {
    8. this.setData({
    9. list: res.data.list
    10. })
    11. }
    12. }
    13. })
    14. }
    15. })

    在请求到数据前,我们避免页面白屏的方式一般是把之前的请求成功请求存在本地缓存里,在 onLoad 发起请求前,先检查是否有缓存过列表,如果有的话直接渲染界面,然后等到 swan.request 的 success 回调之后再覆盖本地缓存重新渲染新的列表,如下代码所示。

    • JS
     
     
     
    1. Page({
    2. onLoad() {
    3. let list = swan.getStorageSync('list');
    4. if (list) {
    5. // 本地如果有缓存列表,提前渲染
    6. this.setData({
    7. list: list
    8. })
    9. }
    10. swan.request({
    11. // 仅为示例,并非真实的接口地址
    12. url: 'https://www.baidu.com/xxx',
    13. success: res => {
    14. if (res.statusCode === 200) {
    15. list = res.data.list;
    16. // 再次渲染列表
    17. this.setData({
    18. list: list
    19. })
    20. // 覆盖缓存数据
    21. swan.setStorageSync("list", list);
    22. }
    23. }
    24. })
    25. }
    26. })

    错误码

    Android

    错误码 说明

    201

    解析失败,请检查调起协议是否合法

    1001

    执行失败

    iOS

    错误码 说明

    202

    解析失败,请检查参数是否正确

    1003

    超过最大存储文件大小

    当前名称:创新互联百度小程序教程:swan.setStorage
    网站地址:http://www.shufengxianlan.com/qtweb/news25/76575.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联