微信小程序token过期流程问题

现在我小程序上的首页一加载就请求两个接口,每个接口请求的时候我都会验证他带的token是否过期了,如果过期了我就跳转到登录页面,但是问题是,如果两个接口都返回过期了(亲测有这种情况发生)的话,他会不会跳转两次。如果会,怎么保证他第一个接口跳转到登录页第二个就不用跳转了

阅读 4.3k
2 个回答

不用担心, 只要第一个跳转过去了第二个接口返回也不会再次跳转的

比较简单的解决办法(单例的思路)

  • 设定一个全局变量isEnterLoginPage
  • 进入登陆页面前,检查为false

    • 是则跳转过去,并将其设置为true
    • 否则啥也不做
  • 退出登陆页面后,将isEnterLoginPage设置为false即可

比较优雅的解决方法

  • 设置一个队列
  • 失败的全进去
  • 第一个进去的就调用接口获取token
  • 上锁
  • 后面的等着
  • 第一个获取token成功后,其他接口自动重发
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题