收藏
回答

缓存问题 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


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

28 个回答

  • Catcheer
    Catcheer
    2019-11-09

    请问解决了吗 我也遇到同样的问题

    2019-11-09
    有用
    回复
  • 叶叶一木
    叶叶一木
    2019-10-16

    +1

    2019-10-16
    有用
    回复
  • Cyber.Pan
    Cyber.Pan
    2019-09-23

    这个问题深深的苦恼了我 几个牌子的安卓机都有那个问题 本来是用来存个token 点着点着拿不到值就调登陆页去了  苹果5,6,7,x都没问题

    2019-09-23
    有用
    回复
  • 孙建军
    孙建军
    2019-09-19

    绝对是bug,以前都是data中直接data:{ aaa=wx.getstoragesync("aaa")},现在极不可靠,异步没发现问题。

    wx.getstoragesync绝对有问题!!!!

    2019-09-19
    有用
    回复
  • actortys
    actortys
    2019-08-22

    真是服了,这tm还拿不到数据,我也遇到了,这不算重大bug么?

    2019-08-22
    有用
    回复
  • Mimi
    Mimi
    2019-07-29

    +1

    2019-07-29
    有用
    回复
  • 。。!
    。。!
    2019-06-21

    请问解决了吗 我也遇到同样的问题

    2019-06-21
    有用
    回复 1
    • 钟哥
      钟哥
      2021-01-22
      这几天也碰到了这个问题,本地开发工具没有问题。上线后,有的安卓机取不到数据。。。
      2021-01-22
      1
      回复
  • 是小白啊
    是小白啊
    2019-06-18

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

    2019-06-18
    有用
    回复 11
    • 八五
      八五
      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
      回复
    查看更多(6)

正在加载...

登录 后发表内容