在小程序真机测试我们小程序的过程中发现一个奇怪的问题,就是登录时将用户 token 存储在 app 实例的 globalData 下,在请求业务接口的时候再取 token 放在请求头里带到后台获取数据,然后有很小的概率获取不到 app 实例下的数据,不但 app 下的数据没有,而且 wx.getStorageSync 方法也获取不到东西。几率大概是五十分之一这样,貌似在网速不稳定的时候出现几率更高,在开发工具没有出现过这种情况。


    我本身不是做前台的,小程序代码是个女同事写的,我看了也没发现什么逻辑问题,只是有点乱,以下是按钮事件句柄:

tabSelect: function (e) {
展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • hunter猎手

    17人对此回答表示赞同

    你可以在请求前面加上条件判断或者try/catch代码块来输出查看一下获取的缓存或者全局变量的值

    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Fiona徐诗吟

    12人对此回答表示赞同

    请问解决了吗?我也碰到这个问题了

    展开
    12
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • Jack李墨杰 2019-01-03 23:01

      我认为是缓存命中引起的,在操作缓存时捕获异常,我手工写了两个方法

      回复
  • Anthony

    9人对此回答表示赞同

    对,token是在app.js里获得并设置到app.globalData里的。由于getUserinfo接口的调整还做了一个用户登录页,也是可能是在登录页获得的token。上面问题里说的情况token是肯定已经设置了的,否则第一次点击按钮不会有token数据的

    展开
    9
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 马栏山壮士

    8人对此回答表示赞同

    你的token是在app.js中请求的吗?

    展开
    8
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 欢声笑语 2019-01-09 19:29

      是的,我另外写了一个专门用于存取缓存的方法,问题已经改善很多了。估计是缓存命中问题

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部