后一个 request 如何调用前一个 request数据的问题?

小程序 文章 2020-08-06 22:21 589 0 全屏看文

AI助手支持GPT4.0

后一个 request 如何调用前一个 request数据的问题?How to call the data of the previous request in the next request?

后一个 request 如何调用前一个 request数据的问题?

我的小程序页面有两个 request,前一个发送到平台调用 钥 ,获取密钥之后该怎么将密钥反馈进下一个request 的header 里面作为输入的数据?


My applet page has two requests. The first one is sent to the platform call key. After obtaining the key, how can I feed the key back into the header of the next request as input data?

回答:

宋佳耀:

小程序的请求都是异步的,无法通过属性设置为同步。所以你可以:

1、把第二个请求放到第一个请求的success里写。

2、通过封装callback回调方法的方式,把第二次请求放到第一次请求的回调中执行

3、通过引入Promise, async 以及 await的方式同步.

จุ๊บ:

前一个 request 的success 方法里面 写下一个request

o0o有脾气的酸奶:

重写wx.request,多加一个参数token,参数token为true时会获取缓存的token,缓存token不存在则会先请求获取token,再携带token请求业务接口

// utils/overWrite.jslet { request } = wxObject.defineProperty(wx, 'request', {  async value(p){    if(p.token){      delete p.token      // 从globalData或缓存中取token,这里以缓存为例      var token = wx.getStorageSync('x-auth-token') || ''      if(!token){        // 不存在token,则请求获取token        var res = await new Promise((rs, rj)=>{          request({            url:'这里填写你的token获取地址',            successres=>rs(res),            failee=>rj(e),          })        })        // 假设返回结果为{token:'xxxxxxxxxxxxx'}        console.log(res)        token = res.data.token || ''        if(token){          // 存于globalData或缓存中,这里以缓存为例          wx.setStorageSync('x-auth-token', token)        }else{          console.error('获取token失败')        }      }      // 合并header      p.header = Object.assign(p.header || {}, {'X-Auth-Token':token})            return request.call(this, p)    }  }})


在app.js头部引用overWrite.js

require('./utils/overWrite')App({  onLaunchfunction () {}})


在页面中使用

// pages/index/index.jsPage({  onLoad: function () {        // 普通请求,不需要token    wx.request({      url'你的业务接口地址'    })        // 需要带token请求    wx.request({      token:!0,      url'你的业务接口地址'    })  },})

若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
小程序中使用了自定义顶部栏 跳转外部页面时(web-view) 点击顶部导航栏中的返回按钮无法返回
从公众号后台注册的小程序和后来绑定的小程序有什么区别的呢?
请问小程序流量主广告收益还有救吗?收益从8月份跌去一半之后,这次元旦过后又迎来大跌?
小程序提交多次被拒绝,现在已经把视频功能移除,但是现在不审核我们的小程序了,麻烦管理员帮我们看下?
邮箱被别人绑定!不知道被谁注册了,能给个回复吗?
随便看看
怎么添加小程序支付功能? 3551
教育科技公司申请微信支付被拒绝? 3887
微信公众号免300认证教程 4988
小程序已经上线,作为管理员无法在小程序数据助手查看数据? 4106
小程序广告组件通过审核,但是小程序内没有显示广告? 4286
企业微信通讯录账号被管理员误/恶意删除,怎么办? 8070
问题? 7295
如何快速搭建抽奖助手小程序(无需代码知识) 5077
许涛 大哥在吗, 要解冻小程序的时候提示信息主体不一致, 能帮忙看下吗? 6033
小程序搜一搜全称搜索不显示 麻烦解决一下!谢谢 5644