收藏
回答

缓存问题 wx.getStorageSync频繁调用时经常获取不到数据

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.getStorageSync 客户端 7.0.4 2。7.1

- 当前 Bug 的表现(可附上截图)

在请求接口时会先通过wx.getStorageSync()获取缓存中的token,打印出来经常拿不到token, 但其实缓存中的token是存在的 ,重新调用接口又能拿到token。 出现的很频繁 十次大概就会出现个一两次。 同步异步获取缓存的方法都有这个问题。


ios测试未出现这个问题 主要是安卓 并且是微信最新版本7.0.4





- 预期表现

wx.getStorageSync()每次都能正常的获取到数据而不是为空

- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

22 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2019-06-18

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-06-18
    有用
    回复 9
    • 八五
      八五
      2019-06-18

      https://developers.weixin.qq.com/s/EKgH9dmg7495


      安卓7.0.4经常会获取不到缓存


      2019-06-18
      回复
    • 小程序技术专员-寂
      小程序技术专员-寂
      2019-06-18回复八五

      你好,不是每次都一定成功的。


      wx.getStorageInfoSync 请加try处理。

      wx.getStorageInfo 请加 complete 观察。

      2019-06-18
      回复
    • 八五
      八五
      2019-06-19回复小程序技术专员-寂

      是只有安卓会出现这个情况吗?ios测试了很久都没出现这个问题。

      并且我使用try catch写了个公共方法 还是会经常获取不到数据

      function get_storage_func(key){

          var flag = false;

          var val = null;

          while (!flag){

              try {

                  val = wx.getStorageSync(key);

                  flag = true;

                  } catch (e) {

              }

          }

          return val;

      }


      2019-06-19
      回复
    • 小程序技术专员-寂
      小程序技术专员-寂
      2019-06-19回复八五

      你好,这个代码我服。。。


      你的意思是这样的情况下 getStorageSync 还会拿不到数据。而 getStorage 就能拿到数据?


      确认还会出现的话,麻烦上报一下吧。

      具体操作是,在微信里面    我->设置->帮助与反馈->右上角扳手上传日志

      谢谢你的反馈

      2019-06-19
      回复
    • 八五
      八五
      2019-06-19回复小程序技术专员-寂

      getStorageSync 和getStorage  都会偶尔拿不到数据  

      2019-06-19
      回复
    查看更多(4)
  • 🤥
    🤥
    04-15

    真机上就拿不到 但是在开发工具就行 无语了

    04-15
    有用 2
    回复
  • Toujours seul
    Toujours seul
    03-25

    这个问题请问解决了吗?目前我们好像也有这个问题

    03-25
    有用 1
    回复
  • 。。。
    。。。
    02-27

    我也遇到了这样的问题


    02-27
    有用 1
    回复
  • 汽修帝(小谢飞刀)
    汽修帝(小谢飞刀)
    02-07

    我用的这种方法,不知管用不

    var userInfo = app.globalData.userInfo || wx.getStorageSync('userinfo');

    本地存储+全局变量双保险


    02-07
    有用 1
    回复
  • 雅美兮
    雅美兮
    2019-11-14

    +1

    2019-11-14
    有用 1
    回复
  • etMatt
    etMatt
    05-29

    是真的牛,过了大半年了这bug还没修复。

    05-29
    有用
    回复
  • lsw
    lsw
    05-20

    data为0时读不到,结果为null,改成其他数字就没问题

    05-20
    有用
    回复
  • icony(精武陈真)
    icony(精武陈真)
    04-22

    遇到同样的问题

    04-22
    有用
    回复
  • archerLj
    archerLj
    04-05

    官方不准备回复一下这个问题了吗?这么多人遭遇,还不算严重bug吗?

    04-05
    有用
    回复

正在加载...

登录 后发表内容