小程序请求加入session3rd的问题

目前正在开发一款小程序,基于mpvue,有一个请求的问题困扰了好久,求大神指点。

问题是,启动小程序后调用wx.login拿到code传给后端,然后获取session3rd,然后规定每次请求必须带上这个参数,但是现在是,进入小程序会请求主页或者其他页面的请求,这个时候session3rd也是异步的,还没有获取到存入缓存,会出现其他请求请求时没有带上这个参数,请问应该怎么处理,才能保证拿到session以后才开始其他请求呢?

阅读 2.6k
2 个回答

将所有的请求进行一次封装,暂存请求,抛出一个Promise对象,待到wx.login以及请求服务端接口获取到session3rd参数后再将暂存的请求发出即可。
这样能保证所有的请求都是在获取到session3rd后才会发起

补充代码链接

首先,一些依赖于session3rd参数的请求与获取session3rd的请求一同发出,这本身就是逻辑问题

所以这里有一个简单的示例,暂存请求等待前置请求发起成功后再执行:git地址

我也遇到了相同的问题。小程序一开始就需要至少这2个异步请求(code换取session3rd,session3rd作为请求头参数换取userInfo)。
其实准确来说应该是3个异步请求。。因为wx.login方法拿code也是异步的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题